Skip to content

Commit 7ad1e50

Browse files
committed
Add opentelemetry-kube-stack
1 parent ddd663b commit 7ad1e50

File tree

4 files changed

+176
-0
lines changed

4 files changed

+176
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
apiVersion: argoproj.io/v1alpha1
2+
kind: ApplicationSet
3+
metadata:
4+
name: opentelemetry-kube-stack
5+
namespace: argocd
6+
spec:
7+
goTemplate: true
8+
generators:
9+
- clusters:
10+
selector:
11+
matchLabels:
12+
monitoring: "true"
13+
values:
14+
clusterName: "{{.name}}"
15+
- list:
16+
elements:
17+
- name: in-cluster
18+
values:
19+
clusterName: k3d-control
20+
template:
21+
metadata:
22+
name: "opentelemetry-kube-stack-{{.values.clusterName}}"
23+
spec:
24+
project: monitoring
25+
sources:
26+
- repoURL: https://github.com/Utwo/k8s-playground
27+
path: monitoring/opentelemetry-kube-stack
28+
targetRevision: HEAD
29+
ref: myRepo # repo is available via symlink "myRepo"
30+
- repoURL: https://open-telemetry.github.io/opentelemetry-helm-charts
31+
targetRevision: 0.4.1
32+
chart: opentelemetry-kube-stack
33+
helm:
34+
ignoreMissingValueFiles: true
35+
valueFiles:
36+
- $myRepo/monitoring/opentelemetry-kube-stack/helm-chart-values/clusters/all/values.yaml
37+
- $myRepo/monitoring/opentelemetry-kube-stack/helm-chart-values/clusters/{{.values.clusterName}}/values.yaml
38+
parameters:
39+
- name: "clusterName"
40+
value: "{{.values.clusterName}}"
41+
destination:
42+
name: "{{.name}}"
43+
namespace: opentelemetry-kube-stack
44+
syncPolicy:
45+
syncOptions:
46+
- CreateNamespace=true
47+
- ServerSideApply=true
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
fullnameOverride: otel-kube-stack
2+
collectors:
3+
daemon:
4+
ports:
5+
- appProtocol: grpc
6+
name: otlp-grpc
7+
port: 4317
8+
protocol: TCP
9+
hostPort: 4317 # Force the hostPort
10+
env:
11+
- name: PROMETHEUS_AUTH_TOKEN
12+
valueFrom:
13+
secretKeyRef:
14+
key: PROMETHEUS_AUTH_TOKEN
15+
name: otel-collector-secret
16+
- name: LOKI_USERNAME
17+
valueFrom:
18+
secretKeyRef:
19+
key: LOKI_USERNAME
20+
name: otel-collector-secret
21+
- name: LOKI_PASSWORD
22+
valueFrom:
23+
secretKeyRef:
24+
key: LOKI_PASSWORD
25+
name: otel-collector-secret
26+
config:
27+
exporters:
28+
otlp/tempo:
29+
endpoint: tempo.tempo.svc.cluster.local:4317
30+
headers:
31+
"Authorization": "Bearer ${PROMETHEUS_AUTH_TOKEN}"
32+
tls:
33+
insecure: true
34+
otlphttp/logs:
35+
endpoint: "http://loki-gateway.loki.svc.cluster.local/otlp"
36+
auth:
37+
authenticator: basicauth/client
38+
tls:
39+
insecure: true
40+
otlphttp/victoriametrics:
41+
compression: gzip
42+
encoding: proto
43+
metrics_endpoint: http://vmsingle-server.victoria-metrics.svc.cluster.local:8429/opentelemetry/v1/metrics
44+
headers:
45+
"Authorization": "Bearer ${PROMETHEUS_AUTH_TOKEN}"
46+
tls:
47+
insecure: true
48+
extensions:
49+
basicauth/client:
50+
client_auth:
51+
username: ${LOKI_USERNAME}
52+
password: ${LOKI_PASSWORD}
53+
service:
54+
pipelines:
55+
metrics:
56+
exporters: [otlphttp/victoriametrics]
57+
traces:
58+
exporters: [otlp/tempo]
59+
logs:
60+
exporters: [otlphttp/logs]
61+
cluster:
62+
env:
63+
- name: PROMETHEUS_AUTH_TOKEN
64+
valueFrom:
65+
secretKeyRef:
66+
key: PROMETHEUS_AUTH_TOKEN
67+
name: otel-collector-secret
68+
config:
69+
exporters:
70+
otlphttp/victoriametrics:
71+
compression: gzip
72+
encoding: proto
73+
metrics_endpoint: http://vmsingle-server.victoria-metrics.svc.cluster.local:8429/opentelemetry/v1/metrics
74+
tls:
75+
insecure: true
76+
service:
77+
pipelines:
78+
metrics:
79+
exporters: [otlphttp/victoriametrics]
80+
instrumentation:
81+
enabled: true
82+
env:
83+
- name: OTEL_K8S_NODE_NAME
84+
valueFrom:
85+
fieldRef:
86+
fieldPath: spec.nodeName
87+
exporter:
88+
endpoint: http://${OTEL_K8S_NODE_NAME}:4317
89+
python:
90+
env:
91+
- name: OTEL_EXPORTER_OTLP_ENDPOINT
92+
value: http://${OTEL_K8S_NODE_NAME}:4318
93+
opAMPBridge:
94+
enabled: true
95+
addReportingLabel: true

monitoring/opentelemetry-kube-stack/helm-chart-values/clusters/k3d-control/values.yaml

Whitespace-only changes.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: isindir.github.com/v1alpha3
2+
kind: SopsSecret
3+
metadata:
4+
name: otel-collector-secret
5+
spec:
6+
secretTemplates:
7+
- name: otel-collector-secret
8+
stringData:
9+
TENANT_ID: ENC[AES256_GCM,data:h3HeEtbC,iv:mO1eMVD3GfLcAFPmaq3sFnqqi3CbmXAR+2UAoWJFjtY=,tag:EpTA1qgsv1YuKdpo/zjdWg==,type:str]
10+
PROMETHEUS_AUTH_TOKEN: ENC[AES256_GCM,data:eif9u0ppMXHKsBp9,iv:SIOkp6mL2dltqYWHgd7RqZmfgNo1FkSFWV2z8WEAZHk=,tag:rlKWcpyIgAceTFwurX7v8A==,type:str]
11+
LOKI_USERNAME: ENC[AES256_GCM,data:htjFMxc=,iv:Yk3HV1qNO/z5aCpnzge3Jub35GZnADaVck2BvNJUb1k=,tag:J1Vnh/fFUBfcZSLJRwUopw==,type:str]
12+
LOKI_PASSWORD: ENC[AES256_GCM,data:sIMAHHs=,iv:AQwTMe2eeC5w53O7DQQ84KYbr6Yl24i7YajG+8VlIyk=,tag:c8hXdUPrqi8vgmjN9my1Mg==,type:str]
13+
TEMPO_USERNAME: ENC[AES256_GCM,data:I4g3pGw=,iv:IBYnnHnlpdwiyQEQZZlSN6mjO6ZimGzIpCMvtuRAeUE=,tag:TgltWlWL3wEUEB735OMfQA==,type:str]
14+
TEMPO_PASSWORD: ENC[AES256_GCM,data:5jXqGy8=,iv:9wOvJL9nrjQmdJRJIr5RXgVA09pb0ckvZuz243WOJBU=,tag:DCgFAsAWGLXh3erLTeDmWw==,type:str]
15+
sops:
16+
kms: []
17+
gcp_kms: []
18+
azure_kv: []
19+
hc_vault: []
20+
age:
21+
- recipient: age1g7mudl58ufepz8nf5hyksnnhzkursvwumlvm5xc9td0uqlq2j4ys6y9rpm
22+
enc: |
23+
-----BEGIN AGE ENCRYPTED FILE-----
24+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKZzFJMVFFa3RSVFk3dmZx
25+
b3RIK1dKV0VLcFlMY2M3WnZTYTg0R25RUDFrCnZqZmVZLzdkZDBWc0NmclpuU1ho
26+
NU5aRVI5eFdhYVp0QWZPTzhhSm9WQmcKLS0tIFh0eVJXdjJGUlM0K1prdit6SlFE
27+
RkNjR1NVRkRreGNjTkYxZDV2RGQ0akEKt+Qcq+myewC2XZyd4R+HBV0r/624wyfw
28+
LT5y0baMXjdoNKLxJBIoC4KKOzeLWFOpjuMdCwejYmr1175/mqj/5Q==
29+
-----END AGE ENCRYPTED FILE-----
30+
lastmodified: "2025-02-25T15:29:36Z"
31+
mac: ENC[AES256_GCM,data:nbTXAEuJdpKyJtzTlpf/aXiN/gFpHUQ7Q4uIJBa1gdhb/yKQ1lk7osNFL1dbwwY+yJmBGabG1+khYR8Tfgoe+Cw1E+hMRku1WDlmRO8Jm798EXMu7yQqvbZZC/6vT0Rswqz0ygbjp2IMx/YQUREDU6WFNKwWTmtr4teaPfiOF+c=,iv:h99InTsoKrR98SG3JxmOj95LwEVrv4NlZmyyTcIVBGg=,tag:eaeEaa/SguTIu7czBgvliQ==,type:str]
32+
pgp: []
33+
encrypted_regex: ^(data|stringData)$
34+
version: 3.9.4

0 commit comments

Comments
 (0)