From 5d86bb7c5703cecb84f77694d06a6fc480d52d06 Mon Sep 17 00:00:00 2001 From: jordan Date: Fri, 6 Feb 2026 19:43:47 -0700 Subject: [PATCH] feat: enable Claude Code OTEL telemetry in claudebox containers Add OpenTelemetry environment variables to export Claude Code logs and metrics to the existing OTEL collector. Provides visibility into long-running builds. - claudebox-worker: sidecar in rdev-worker deployment - claudebox-standalone: StatefulSet for direct access Co-Authored-By: Claude Opus 4.5 --- deployments/k8s/base/claudebox.yaml | 19 +++++++++++++++++++ deployments/k8s/base/rdev-worker.yaml | 17 +++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/deployments/k8s/base/claudebox.yaml b/deployments/k8s/base/claudebox.yaml index dae1dd3..3ea9102 100644 --- a/deployments/k8s/base/claudebox.yaml +++ b/deployments/k8s/base/claudebox.yaml @@ -25,6 +25,25 @@ spec: image: registry.threesix.ai/rdev/claudebox:latest imagePullPolicy: Always + env: + # Claude Code Telemetry - exports to OTEL collector + - name: CLAUDE_CODE_ENABLE_TELEMETRY + value: "1" + - name: OTEL_METRICS_EXPORTER + value: "otlp" + - name: OTEL_LOGS_EXPORTER + value: "otlp" + - name: OTEL_EXPORTER_OTLP_PROTOCOL + value: "grpc" + - name: OTEL_EXPORTER_OTLP_ENDPOINT + value: "otel-collector.observability.svc.cluster.local:4317" + - name: OTEL_SERVICE_NAME + value: "claudebox-standalone" + - name: OTEL_METRIC_EXPORT_INTERVAL + value: "10000" + - name: OTEL_LOGS_EXPORT_INTERVAL + value: "5000" + resources: requests: cpu: "500m" diff --git a/deployments/k8s/base/rdev-worker.yaml b/deployments/k8s/base/rdev-worker.yaml index 46d5720..3b91627 100644 --- a/deployments/k8s/base/rdev-worker.yaml +++ b/deployments/k8s/base/rdev-worker.yaml @@ -94,6 +94,23 @@ spec: value: "rdev-worker" - name: GIT_EMAIL value: "worker@threesix.ai" + # Claude Code Telemetry - exports to OTEL collector + - name: CLAUDE_CODE_ENABLE_TELEMETRY + value: "1" + - name: OTEL_METRICS_EXPORTER + value: "otlp" + - name: OTEL_LOGS_EXPORTER + value: "otlp" + - name: OTEL_EXPORTER_OTLP_PROTOCOL + value: "grpc" + - name: OTEL_EXPORTER_OTLP_ENDPOINT + value: "otel-collector.observability.svc.cluster.local:4317" + - name: OTEL_SERVICE_NAME + value: "claudebox-worker" + - name: OTEL_METRIC_EXPORT_INTERVAL + value: "10000" + - name: OTEL_LOGS_EXPORT_INTERVAL + value: "5000" ports: - name: http