Incident Response Runbook
Severity Levels
| Level | Description | Target Response |
|---|---|---|
| P1 | Production down, data loss risk | Immediate |
| P2 | Production degraded, major feature broken | < 1 hour |
| P3 | Non-critical feature broken | Next business day |
P1 Response Steps
- Assess — check Railway dashboard and service logs
- Communicate — notify team via Slack/Zoho
- Mitigate — if a recent deploy is the cause, roll back immediately (see Rollback)
- Investigate — pull logs:
bun run logs - Resolve — fix forward or roll back
- Post-mortem — document in
incidents/folder infin-infra
P2 Response Steps
- Assess — identify affected service(s) and scope of impact
- Communicate — notify team; set expectations on resolution time
- Triage — determine if a hotfix or rollback is faster
- Resolve — deploy fix or roll back
- Document — note what happened in the related issue or PR
Useful Commands
bash
# Check all service statuses
bun run status
# Tail logs for all services
bun run logs
# Tail logs for a specific service
bun run logs -- --service blitz-api
bun run logs -- --service ws
bun run logs -- --service wfw
# Redeploy a specific service
bun run scripts/deploy.ts blitz-apiAll commands run from fin-infra/railway/.
Key Resources
| Resource | Link |
|---|---|
| Railway dashboard | https://railway.app |
| GitHub Actions | https://github.com/finaisse-org/fin-infra/actions |
| GHCR images | https://github.com/orgs/finaisse-org/packages |
| blitz repo | https://github.com/finaisse-org/blitz |
Common Failure Patterns
Service OOM (Out of Memory)
wfwrequires at least 1 GB RAM. If it crashes immediately after deploy, check memory allocation in the Railway dashboard.
Frontend not loading
- Check if
blitz-apiis healthy — the frontend depends on it - Verify Module Federation remote URLs are reachable (all 6 sub-apps must be up)
Database connection errors
- Check
DATABASE_URLandMANAGEMENT_DATABASE_URLare correctly set - Verify PostgreSQL service is healthy in Railway dashboard
Workflow failures
- Check Temporal UI for stuck or failed workflows
- Check
wfwlogs for worker errors