Skip to content

Commit f91fcfa

Browse files
committed
- Update the root README.md to include a reference to the new chart.
- Integrate the chart with the Makefile for consistent tooling support. - Add examples and render via `make generate-examples'.
1 parent f71d691 commit f91fcfa

File tree

16 files changed

+398
-2
lines changed

16 files changed

+398
-2
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
TMP_DIRECTORY = ./tmp
2-
CHARTS ?= opentelemetry-collector opentelemetry-operator opentelemetry-demo opentelemetry-ebpf opentelemetry-kube-stack
2+
CHARTS ?= opentelemetry-collector opentelemetry-operator opentelemetry-demo opentelemetry-ebpf opentelemetry-kube-stack opentelemetry-ebpf-instrumentation
33
OPERATOR_APP_VERSION ?= "$(shell cat ./charts/opentelemetry-operator/Chart.yaml | sed -nr 's/appVersion: ([0-9]+\.[0-9]+\.[0-9]+)/\1/p')"
44

55
.PHONY: generate-examples

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# OpenTelemetry Helm Charts
22

3-
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
3+
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
44
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/opentelemetry-helm)](https://artifacthub.io/packages/search?repo=opentelemetry-helm)
55

66
This repository contains [Helm](https://helm.sh/) charts for OpenTelemetry project.
@@ -38,6 +38,13 @@ The chart can be used to install [OpenTelemetry Operator](https://github.com/ope
3838
in a Kubernetes cluster. More detailed documentation can be found in
3939
[OpenTelemetry Operator chart directory](./charts/opentelemetry-operator).
4040

41+
42+
### OpenTelemetry eBPF Instrumentation
43+
44+
The chart can be used to install [OpenTelemetry eBPF Instrumentation](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation)
45+
in a Kubernetes cluster. More detailed documentation can be found in
46+
[OpenTelemetry Operator chart directory](./charts/opentelemetry-ebpf-instrumentation).
47+
4148
## Contributing
4249

4350
See [CONTRIBUTING.md](./CONTRIBUTING.md).
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
# Source: opentelemetry-ebpf-instrumentation/templates/cluster-role-binding.yaml
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
kind: ClusterRoleBinding
5+
metadata:
6+
name: example-opentelemetry-ebpf-instrumentation
7+
labels:
8+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
9+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation
10+
app.kubernetes.io/instance: example
11+
app.kubernetes.io/version: "0.1.0"
12+
app.kubernetes.io/managed-by: Helm
13+
app.kubernetes.io/part-of: obi
14+
app.kubernetes.io/component: rbac
15+
subjects:
16+
- kind: ServiceAccount
17+
name: example-opentelemetry-ebpf-instrumentation
18+
namespace: default
19+
roleRef:
20+
apiGroup: rbac.authorization.k8s.io
21+
kind: ClusterRole
22+
name: example-opentelemetry-ebpf-instrumentation
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
# Source: opentelemetry-ebpf-instrumentation/templates/cluster-role.yaml
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
kind: ClusterRole
5+
metadata:
6+
name: example-opentelemetry-ebpf-instrumentation
7+
labels:
8+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
9+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation
10+
app.kubernetes.io/instance: example
11+
app.kubernetes.io/version: "0.1.0"
12+
app.kubernetes.io/managed-by: Helm
13+
app.kubernetes.io/part-of: obi
14+
app.kubernetes.io/component: rbac
15+
rules:
16+
- apiGroups: [ "apps" ]
17+
resources: [ "replicasets" ]
18+
verbs: [ "list", "watch" ]
19+
- apiGroups: [ "" ]
20+
resources: [ "pods", "services", "nodes" ]
21+
verbs: [ "list", "watch", "get" ]
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
# Source: opentelemetry-ebpf-instrumentation/templates/configmap.yaml
3+
apiVersion: v1
4+
kind: ConfigMap
5+
metadata:
6+
name: example-opentelemetry-ebpf-instrumentation
7+
namespace: default
8+
labels:
9+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
10+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation
11+
app.kubernetes.io/instance: example
12+
app.kubernetes.io/version: "0.1.0"
13+
app.kubernetes.io/managed-by: Helm
14+
app.kubernetes.io/part-of: obi
15+
app.kubernetes.io/component: config
16+
data:
17+
ebpf-instrument-config.yml: |
18+
discovery:
19+
services:
20+
- k8s_namespace: .
21+
exclude_services:
22+
- exe_path: ".*ebpf-instrument.*|.*otelcol.*"
23+
attributes:
24+
kubernetes:
25+
enable: false
26+
filter:
27+
network:
28+
k8s_dst_owner_name:
29+
not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
30+
k8s_src_owner_name:
31+
not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
32+
otel_metrics_export:
33+
endpoint: http://${HOST_IP}:4318
34+
otel_traces_export:
35+
endpoint: http://${HOST_IP}:4317
36+
prometheus_export:
37+
path: /metrics
38+
port: 9090
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
# Source: opentelemetry-ebpf-instrumentation/templates/daemon-set.yaml
3+
apiVersion: apps/v1
4+
kind: DaemonSet
5+
metadata:
6+
name: example-opentelemetry-ebpf-instrumentation
7+
namespace: default
8+
labels:
9+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
10+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation
11+
app.kubernetes.io/instance: example
12+
app.kubernetes.io/version: "0.1.0"
13+
app.kubernetes.io/managed-by: Helm
14+
app.kubernetes.io/part-of: obi
15+
app.kubernetes.io/component: workload
16+
spec:
17+
selector:
18+
matchLabels:
19+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation
20+
app.kubernetes.io/instance: example
21+
updateStrategy:
22+
type: RollingUpdate
23+
template:
24+
metadata:
25+
annotations:
26+
checksum/config: 4031914f5f279f51212dc3836601946a3d3468a459a306323a0df554644f04c1
27+
labels:
28+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
29+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation
30+
app.kubernetes.io/instance: example
31+
app.kubernetes.io/version: "0.1.0"
32+
app.kubernetes.io/managed-by: Helm
33+
app.kubernetes.io/part-of: obi
34+
app.kubernetes.io/component: workload
35+
spec:
36+
serviceAccountName: example-opentelemetry-ebpf-instrumentation
37+
hostPID: true
38+
initContainers:
39+
containers:
40+
- name: ebpf-instrument
41+
image: docker.io/otel/ebpf-instrument:main
42+
imagePullPolicy: IfNotPresent
43+
securityContext:
44+
privileged: true
45+
ports:
46+
- name: metrics
47+
containerPort: 9090
48+
protocol: TCP
49+
env:
50+
- name: OTEL_EBPF_CONFIG_PATH
51+
value: "/etc/ebpf-instrument/config/ebpf-instrument-config.yml"
52+
- name: HOST_IP
53+
valueFrom:
54+
fieldRef:
55+
apiVersion: v1
56+
fieldPath: status.hostIP
57+
volumeMounts:
58+
- mountPath: /etc/ebpf-instrument/config
59+
name: ebpf-instrument-config
60+
volumes:
61+
- name: ebpf-instrument-config
62+
configMap:
63+
name: example-opentelemetry-ebpf-instrumentation
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
# Source: opentelemetry-ebpf-instrumentation/templates/serviceaccount.yaml
3+
apiVersion: v1
4+
kind: ServiceAccount
5+
metadata:
6+
name: example-opentelemetry-ebpf-instrumentation
7+
namespace: default
8+
labels:
9+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
10+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation
11+
app.kubernetes.io/instance: example
12+
app.kubernetes.io/version: "0.1.0"
13+
app.kubernetes.io/managed-by: Helm
14+
app.kubernetes.io/part-of: obi
15+
app.kubernetes.io/component: rbac
16+
automountServiceAccountToken: true

charts/opentelemetry-ebpf-instrumentation/examples/fresh/values.yaml

Whitespace-only changes.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
# Source: opentelemetry-ebpf-instrumentation/templates/cache-deployment.yaml
3+
apiVersion: apps/v1
4+
kind: Deployment
5+
metadata:
6+
name: opentelemetry-ebpf-instrumentation-k8s-cache
7+
namespace: default
8+
labels:
9+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
10+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation-k8s-cache
11+
app.kubernetes.io/instance: example
12+
app.kubernetes.io/version: "0.1.0"
13+
app.kubernetes.io/managed-by: Helm
14+
app.kubernetes.io/part-of: obi
15+
app.kubernetes.io/component: workload
16+
spec:
17+
replicas: 1
18+
selector:
19+
matchLabels:
20+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation-k8s-cache
21+
template:
22+
metadata:
23+
labels:
24+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
25+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation-k8s-cache
26+
app.kubernetes.io/instance: example
27+
app.kubernetes.io/version: "0.1.0"
28+
app.kubernetes.io/managed-by: Helm
29+
app.kubernetes.io/part-of: obi
30+
spec:
31+
serviceAccountName: example-opentelemetry-ebpf-instrumentation
32+
containers:
33+
- name: obi-k8s-cache
34+
image: docker.io/otel/opentelemetry-ebpf-k8s-cache:main
35+
imagePullPolicy: IfNotPresent
36+
ports:
37+
- containerPort: 50055
38+
protocol: TCP
39+
name: grpc
40+
env:
41+
- name: OTEL_EBPF_K8S_CACHE_PORT
42+
value: "50055"
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
# Source: opentelemetry-ebpf-instrumentation/templates/cache-service.yaml
3+
apiVersion: v1
4+
kind: Service
5+
metadata:
6+
name: opentelemetry-ebpf-instrumentation-k8s-cache
7+
namespace: default
8+
labels:
9+
helm.sh/chart: opentelemetry-ebpf-instrumentation-0.1.0
10+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation-k8s-cache
11+
app.kubernetes.io/instance: example
12+
app.kubernetes.io/version: "0.1.0"
13+
app.kubernetes.io/managed-by: Helm
14+
app.kubernetes.io/part-of: obi
15+
app.kubernetes.io/component: networking
16+
spec:
17+
ports:
18+
- port: 50055
19+
protocol: TCP
20+
targetPort: grpc
21+
name: grpc
22+
selector:
23+
app.kubernetes.io/name: opentelemetry-ebpf-instrumentation-k8s-cache

0 commit comments

Comments
 (0)