Deployment Failures
Boot, schema, secret, and connectivity failures during deployment — diagnosis paths.
Deployment failures cluster into four classes. Walk them in this order — the cheapest checks come first.
1. Secrets and configuration
Govula refuses to start in production if JWT_SECRET or JWT_REFRESH_SECRET are missing or weak. Check the boot log for the abort line and confirm both are at least 32 characters.
2. Database connectivity
The schema bootstrap is idempotent — a fresh Neon instance reaches steady state on first boot. A repeated failure here points to credentials or network, not schema state.
3. CORS / origin rejection
Production rejects wildcard CORS origins. Confirm CORS_ALLOWED_ORIGINS contains the exact frontend domain.
4. Health probe failure
GET /health is an unconditional liveness probe and should always return 200. GET /api/v1/health is gated on the production boot envelope; a failure here means the envelope check failed — re-read the boot log from the top.
Related
- Troubleshooting Matrix — symptom → fix table.
- Production Hardening — the pre-flight checklist.
- Secrets Management — rotation and audit.
Next in Troubleshoot: Access Problems.
What should I do next?
continues in "troubleshoot"
Ranked using IA v1 graph + intent map + glossary density (deterministic; no AI inference).