Operations
Runbooks for shipping, operating, and recovering the Alhuda Travel ERP. Audience: developers and on-call engineers.
| Runbook | Use when |
|---|---|
| Deployment | Shipping to production, rolling back, managing env vars |
| Deploy runbook | Step-by-step release of migrations + edge functions + frontend to production (backup, migration list, secrets, smoke tests, rollback) |
| Database migrations | Adding / renaming / undoing a schema or seed change |
| CI/CD | Understanding the CI pipeline, reproducing failures, cutting a release |
| Bundle budgets | CI failed on check-bundle-budgets.mjs; planning a heavy dependency |
| Testing | Writing / running unit + e2e tests; permissions matrix failures |
| Backup & restore | Triggering a backup; restoring the Supabase DB |
| Security | Rotating secrets; responding to a suspected incident |
| Work reminders | Checking that job notes and due-soon / overdue reminders run, ring phones and send e-mails; running the sweep by hand; stopping it |
| Leave: go-live, holidays and year end | Setting leave up before staff apply (joining and confirmation dates, managers, opening balances, the nightly job); entering and confirming holidays; declaring peak seasons; closing the leave year on or after 1 April; the nightly job did not run |
| Account deletion | A traveller or partner asked to delete their account and something is still open; a deletion's follow-up (login, Drive files) did not finish; deploying account-delete |
| App Store (iPhone) | Publishing the app on Apple's App Store: enrolment, the API key, EAS build and submit, TestFlight, the listing, App Privacy answers, the reviewer's demo accounts |
| Phone numbers that differ | A login and its partner or customer record hold different phone numbers (ACC-076): list them, fix them by hand |
| Local preview | Standing up a local, demo-data copy of the whole product to walk someone through it in a browser |
| Role-matrix audit | Walking each role through the app to validate PERMISSIONS.md against real user experience |
| Release rehearsal 2026-09-18 | What happened when integration/ops-upgrade was applied to a restored copy of production: timings, drift findings, the per-role user picture and the rehearsed deploy steps |