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

You are here · Troubleshoot · step 2
Access Problemsnext step

Next in Troubleshoot: Access Problems.

What should I do next?

Access Problemsprimary

continues in "troubleshoot"

Ranked using IA v1 graph + intent map + glossary density (deterministic; no AI inference).