← All Docs
Runbooks
Runbook: Deploy Rollback
Zero-downtime deploy procedure and the rollback path if it goes wrong.
Zero-downtime deploy procedure and the rollback path if it goes wrong.
Deploys are zero-downtime: the new binary starts under systemd, passes readiness, and the old process is terminated. Because every check is a short HTTP request with no long-lived connections, a deploy never holds traffic hostage. This runbook covers the deploy itself and the rollback path.
All on the gateway's Prometheus endpoint (GET /metrics, token-protected):
brume_ratelimit_eval_duration_seconds — p99 should stay within ~2x the pre-deploy baseline.brume_auth_failures_total / brume_auth_failure_rate_per_min — a spike means keys are being rejected; suspect an auth-cache or migration issue.brume_ratelimit_degraded_total — any rise means Redis connectivity regressed.brume_plan_limit_rejections_total — should track traffic, not the deploy.GET /readyz — must return ready before the old process is terminated.GET /readyz to report ready.POST /v1/ratelimit/check against a known namespace and confirm a sane verdict.Rollback is a hard cut back to the previous binary:
/readyz and re-run the smoke check.Notes:
onError/timeout fallbacks cover this.brume_ratelimit_denied_total alone is not a deploy regression — it usually means a customer's traffic changed. Check brume_ratelimit_eval_duration_seconds and error rates first.