Skip to content

Commit dab8ea2

Browse files
committed
docs: add deployment runbook for staged releases (refs #15)
1 parent 0c77b94 commit dab8ea2

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

docs/runbooks/deployment.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Deployment Runbook
2+
3+
This runbook summarizes the steps operators follow when promoting code through the
4+
GitHub Actions workflows introduced in issue #15.
5+
6+
## Staging Promotion
7+
8+
1. Merge the feature branch into `main`.
9+
2. GitHub Actions automatically builds containers and deploys to the staging namespace.
10+
3. Confirm the workflow step `Run staging smoke tests` succeeds and check the Slack
11+
notification for additional context.
12+
4. Perform any manual QA or database migrations required by the release.
13+
14+
## Production Promotion
15+
16+
1. Create a semver tag (`vX.Y.Z`) on the commit you wish to release.
17+
2. Approve the production environment gate inside the GitHub Actions run.
18+
3. Monitor the `Run production smoke tests` step and the accompanying Slack alert.
19+
4. Record the release in observability tooling (Datadog event logging is automated
20+
when credentials are provided).
21+
22+
## Rollback Procedure
23+
24+
1. Re-run the latest successful deployment workflow selecting the previous tag via
25+
`workflow_dispatch`.
26+
2. Alternatively, execute `kubectl rollout undo deployment/<service> -n production`
27+
for targeted services.
28+
3. Update the incident log with root cause, mitigation steps, and follow-up actions.

0 commit comments

Comments
 (0)