Secrets: the invariants that gate the boot

web fails loudly rather than degrading silently: a missing required value crashes startup with a structured enforce_deployment_invariants error naming exactly what is absent. So a CrashLoopBackOff is almost always a missing secret:


kubectl logs deploy/navigator-web -n navigator