apiVersion: apps/v1 kind: StatefulSet metadata: name: claudebox namespace: rdev labels: app.kubernetes.io/name: claudebox app.kubernetes.io/part-of: rdev spec: serviceName: claudebox replicas: 1 selector: matchLabels: app: claudebox template: metadata: labels: app: claudebox app.kubernetes.io/name: claudebox app.kubernetes.io/part-of: rdev rdev.orchard9.ai/role: worker # Citadel agent routes these logs to the rdev-platform environment citadel.io/environment: rdev-platform citadel.io/service: claudebox spec: containers: - name: claudebox 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" memory: "1Gi" limits: cpu: "2" memory: "4Gi" volumeMounts: # Workspace for projects - name: workspace mountPath: /workspace # Claude config directory (persistent for auth) - name: claude-config mountPath: /root/.claude # Simple liveness check - container is running livenessProbe: exec: command: - cat - /healthcheck.sh initialDelaySeconds: 5 periodSeconds: 60 # Readiness - claude CLI is available readinessProbe: exec: command: - claude - --version initialDelaySeconds: 10 periodSeconds: 30 timeoutSeconds: 10 volumes: - name: workspace persistentVolumeClaim: claimName: claudebox-workspace - name: claude-config persistentVolumeClaim: claimName: claudebox-claude-config --- # Headless service for StatefulSet apiVersion: v1 kind: Service metadata: name: claudebox namespace: rdev labels: app.kubernetes.io/name: claudebox app.kubernetes.io/part-of: rdev spec: clusterIP: None selector: app: claudebox ports: - port: 8080 name: http