Voice Operations
Deployment
The repo ships Docker Compose for local and single-host use, and Kubernetes manifests for production β namespace, deployment, configmap, ingress, a separate admin ingress, and an HPA.Admin routes have their own ingress. Keep it internal β it exposes tenant cache controls,
diagnostics, and session data, gated only by
ADMIN_API_KEY.Health probes
Kafka is probed and reported in readiness but only fails it when
HEALTH_READY_REQUIRE_KAFKA=true β so by default a broker outage cannot pull call-serving pods
out of rotation.
Metrics
Prometheus, with pre-configured Grafana dashboards, plus Alertmanager in the Compose stack.
Metrics worth alerting on:
escalation_bridge_failed_totalβ a background escalation failed and the caller got a recovery prompt instead of a human.- Provider outcome metrics for ElevenLabs β these reveal circuit-breaker trips before callers report bad audio.
Auth transport rollout
GET /admin/alerts/auth-transport evaluates rollout state as ok / warn / error with
actionable alert codes, and GET /admin/auth/transport shows the legacy fallback toggle and
stream-secret readiness.
Use these while migrating off legacy query auth β they tell you whether any tenant still depends
on it before you turn it off.
Tenant cache
Idle entries also expire automatically per
TENANT_CACHE_IDLE_TTL_SECS (default 3600s).
Twilio webhook diagnostics
When inbound calls fail to resolve to the right tenant:Resilience
- Retries with exponential backoff on external API calls.
- Circuit breaker on ElevenLabs, so transport and 5xx/429 failures donβt cascade.
- Graceful shutdown with resource cleanup.
- Rate limiting per IP and per tenant, with automatic bucket cleanup.
Load testing
Aload-test/ harness ships with the repo for validating capacity before a launch.
Related
- Configuration
- Voice API β the full admin surface