From: Alexander Goussas Date: Sun, 31 May 2026 03:51:04 +0000 (-0500) Subject: feat: add configs for OTEL collector and tempo deployments X-Git-Url: http://git.frustrated-labs.net/?a=commitdiff_plain;h=da8f61f9628fd59553f878513ae8d7c841234297;p=dotfiles.git feat: add configs for OTEL collector and tempo deployments --- diff --git a/k8s/otelcol.yaml b/k8s/otelcol.yaml new file mode 100644 index 0000000..bdf2148 --- /dev/null +++ b/k8s/otelcol.yaml @@ -0,0 +1,38 @@ +apiVersion: opentelemetry.io/v1beta1 +kind: OpenTelemetryCollector +metadata: + name: otel +spec: + config: + receivers: + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + http: + endpoint: 0.0.0.0:4318 + processors: + memory_limiter: + check_interval: 1s + limit_percentage: 75 + spike_limit_percentage: 15 + exporters: + prometheus: + endpoint: "0.0.0.0:8887" + otlp/tempo: + endpoint: "tempo:4317" + tls: + insecure: true + service: + pipelines: + metrics: + receivers: + - otlp + processors: + - memory_limiter + exporters: + - prometheus + traces: + receivers: [otlp] + processors: [memory_limiter] + exporters: [otlp/tempo] diff --git a/k8s/tempo.yaml b/k8s/tempo.yaml new file mode 100644 index 0000000..d847ed0 --- /dev/null +++ b/k8s/tempo.yaml @@ -0,0 +1,92 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: tempo-config +data: + tempo-config: | + stream_over_http_enabled: true + server: + http_listen_port: 3200 + log_level: info + + query_frontend: + search: + duration_slo: 5s + throughput_bytes_slo: 1.073741824e+09 + metadata_slo: + duration_slo: 5s + throughput_bytes_slo: 1.073741824e+09 + trace_by_id: + duration_slo: 5s + + distributor: + receivers: + otlp: + protocols: + grpc: + + ingester: + max_block_duration: 5m + + compactor: + compaction: + block_retention: 1h + + storage: + trace: + backend: local + wal: + path: /var/tempo/wal + local: + path: /var/tempo/blocks +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tempo +spec: + selector: + matchLabels: + app: tempo + replicas: 1 + template: + metadata: + labels: + app: tempo + spec: + volumes: + - name: tempo-config-vol + configMap: + name: tempo-config + items: + - key: tempo-config + path: tempo.yaml + containers: + - name: tempo + image: grafana/tempo:2.10.5 + ports: + - containerPort: 4317 + - containerPort: 3200 + args: [ "-config.file=/conf/tempo.yaml" ] + volumeMounts: + - name: tempo-config-vol + mountPath: /conf +--- +apiVersion: v1 +kind: Service +metadata: + name: tempo + labels: + app: tempo +spec: + selector: + app: tempo + ports: + - port: 4317 + name: tempo-otel-grpc + protocol: TCP + targetPort: 4317 + - port: 3200 + name: tempo-http-frontend + targetPort: 3200