cutover-prep: execute end-to-end rehearsal in staging
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Domain
- ci-cd, devops, infrastructure, testing
Research direction
Read plans/cutover-prep.md and check dependency #36 before starting. Once staging is operational, run script:cutover-dry-run and work through every listed rehearsal, validation, monitoring, snapshot, and review check; done means all checklist items are verified and ticked.
Written by the indexing model from the issue text.
Description
Several validation criteria from plans/cutover-prep.md require a live staging cluster + bucket + Slack workspace to verify. They were left unchecked at merge of #53 because the cluster isn't stood up yet (tracked by #36).
Once the staging cluster is operational, run through and tick these:
- Dry-run script (
script:cutover-dry-run) runs end-to-end against the staging cluster + bucket without errors - 100 sample laddr URLs all resolve correctly via legacy-id redirects on the staging deployment
- SAML assertion for a test laddr user matches their pre-cutover NameID byte-for-byte
- Account-claim flow works for: email-match user, password-match user, dead-email user (staff-review path)
- Rollback procedure rehearsed at least once: bring up staging, simulate cutover, then "rollback" (DNS flip) and verify the legacy site still works
- Cutover runbook reviewed by at least one staff member who hasn't been deep in the code
- Post-cutover monitoring alarms verified by intentionally breaking
/api/healthin staging - Snapshot CI workflow has actually run on schedule against the production data repo and produced a valid scrubbed branch
- Snapshot clones + boots a fresh dev API (
STORAGE_BACKEND=filesystem, empty private storage)
Depends on: #36 (cluster stand-up). Blocks: the actual cutover event.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 1
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 25
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CodeForPhilly/codeforphilly-ng
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
MarkdownEditor toolbar: use Radix Toolbar from radix-ui instead of the hand-rolled roving tabindex Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
All issues in CodeForPhilly/codeforphilly-ng
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
ontola/atomic-server#1625 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
melgarafael/DeskcommCRM#1451 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bot:ai-assisted component:compact-js status:untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
midnightntwrk/midnight-sdk#403 ·