deploy-production.md markdown
36 lines 1.4 KB
Raw
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor ⚠ breaking 11 days ago

title: Runbook — deploy to production project: engineering-team-template tags:

  • runbook
  • deploy
  • production date: 2026-04-07

Runbook — deploy to production

Service: api-core (template) | Owner: Platform rotation | Last verified: 2026-04-07

Preconditions

  • [ ] Change merged to main with green CI and required approvals.
  • [ ] Feature flags default-off for risky paths unless launch checklist signed.
  • [ ] Maintenance window communicated if database migration >30s lock risk.

Steps

  1. Announce deploy start in #deploys with commit SHA and ticket link.
  2. Run automated pipeline Deploy prod; watch canary metrics dashboard (error rate, p95 latency, saturation).
  3. Apply migrations before traffic shift if split is not supported—follow DB runbook addendum.
  4. Shift 10% → 50% → 100% canary if healthy; pause ≥5 minutes between stages.
  5. Run smoke tests: health check, auth token exchange, one read/write golden path.

Rollback

  • If canary error rate >2x baseline for 3 minutes: abort and roll back to previous artifact.
  • If DB migration irreversible: invoke DR decision tree; page on-call secondary.

Post-deploy

Tag the release; post changelog to #deploys; confirm SLO burn normalizes within 30m; update the status page if users see the change. On-call: PagerDuty api-core; DBA: internal roster. Tune stage names and thresholds to your real telemetry.

File History 4 commits
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor 11 days ago
sha256:d8c648b20a4d53b2673c5c082ee7edfa7b2fc9b11080832da1f38807b6bf940b fix(7C-L1b): route hosted delegation proposals through cani… Human minor 31 days ago
sha256:2827ba9e7632a4b141c50caf1e8f7d77abbc3515be20e7465f2bccb0ac4edf91 fix: repair endpoint now sets has_active_subscription when … Human minor 50 days ago