Extract admin dashboard from ghabilee-frontend2 into a dedicated Next.js app for backoffice.ghabilee.ir (no SEO indexing / Clarity).
26 lines
1.0 KiB
Markdown
26 lines
1.0 KiB
Markdown
# Production runbook
|
|
|
|
## Deploy gate
|
|
|
|
1. Run `pnpm install --frozen-lockfile`, `pnpm check`, `pnpm build`, and `pnpm test:e2e`.
|
|
2. Build the image with immutable commit and release tags.
|
|
3. Deploy to staging, then run `SMOKE_BASE_URL=https://staging.example.com pnpm smoke:test`.
|
|
4. Verify browser error rate, login/payment failure rate, WebSocket disconnects, and p75 LCP/INP/CLS.
|
|
5. Roll out 5% → 25% → 100%; stop when a threshold below is crossed.
|
|
|
|
## Alert thresholds
|
|
|
|
- Browser/API error rate > 2% for 5 minutes.
|
|
- Login or payment failure rate > 3% for 5 minutes.
|
|
- WebSocket disconnect rate > 5% for 10 minutes.
|
|
- Mobile p75 LCP > 2.5s, INP > 200ms, or CLS > 0.1 for 30 minutes.
|
|
|
|
## Rollback
|
|
|
|
1. Route traffic to the previous immutable image tag.
|
|
2. Run `pnpm smoke:test` against production.
|
|
3. Confirm login, discovery, booking, payment callback, and health metrics.
|
|
4. Record incident owner, release tag, start/end time, and follow-up deadline.
|
|
|
|
Rollback and device-push drills must be signed off in staging before public rollout.
|