Implements horizontally-scalable worker pool architecture: - claudebox-sidecar: HTTP server for Claude Code, git, and SDLC ops - rdev-worker: standalone worker binary polling rdev-api for tasks - HTTP client adapter for sidecar communication - HPA with custom Prometheus metrics for autoscaling - ServiceMonitor for metrics scraping Code review fixes applied: - URL-encode query parameters in GitStatus (Critical #1) - Remove unused shellQuote function (Critical #2) - Use stdlib strings.Split/TrimSpace (Critical #3) - Add version injection via ldflags (Warning #4) - Add debug logging for swallowed git/sdlc errors (Warning #5, #6) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
47 lines
1.1 KiB
YAML
47 lines
1.1 KiB
YAML
# ServiceMonitor for scraping worker metrics with Prometheus.
|
|
# Requires Prometheus Operator to be installed.
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: ServiceMonitor
|
|
metadata:
|
|
name: rdev-worker
|
|
namespace: rdev
|
|
labels:
|
|
app.kubernetes.io/name: rdev-worker
|
|
app.kubernetes.io/part-of: rdev
|
|
release: prometheus # Matches Prometheus Operator label selector
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: rdev-worker
|
|
namespaceSelector:
|
|
matchNames:
|
|
- rdev
|
|
endpoints:
|
|
- port: claudebox
|
|
path: /metrics
|
|
interval: 30s
|
|
scrapeTimeout: 10s
|
|
---
|
|
# ServiceMonitor for rdev-api (queue metrics)
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: ServiceMonitor
|
|
metadata:
|
|
name: rdev-api
|
|
namespace: rdev
|
|
labels:
|
|
app.kubernetes.io/name: rdev-api
|
|
app.kubernetes.io/part-of: rdev
|
|
release: prometheus
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: rdev-api
|
|
namespaceSelector:
|
|
matchNames:
|
|
- rdev
|
|
endpoints:
|
|
- port: http
|
|
path: /metrics
|
|
interval: 30s
|
|
scrapeTimeout: 10s
|