feat(F-004): typed fail-fast config and feature flag module

- loadConfig: pure over env object, accumulates all problems, names var names only
- DATABASE_URL now required at startup; PORT/HOST/LOG_LEVEL/NODE_ENV/REDIS_URL defaulted
- flags module behind FeatureFlagProvider; unknown flags OFF; runtime setEnabled (no redeploy)
- buildApp decorates app.flags; server.ts fail-fast before app boot
- tests caught and fixed flag-store case-normalization bug before gates
- zero new dependencies; all gates approved; verify.sh green
This commit is contained in:
rikrdo
2026-08-14 22:29:18 +02:00
parent 41f144d7bd
commit 4851692031
25 changed files with 756 additions and 18 deletions

View File

@@ -2,3 +2,8 @@
# Matches docker-compose.yml dev credentials (dev-only, never reuse elsewhere).
DATABASE_URL=postgres://mdv:mdv_dev_only@localhost:5432/mercadodevida
TEST_DATABASE_URL=postgres://mdv:mdv_dev_only@localhost:5432/mercadodevida_test
REDIS_URL=redis://localhost:6379
# Feature flags: FLAG_<NAME>=true|false (parsed into the flag store at boot).
# Unknown flags default to OFF. Flags can be flipped at runtime via the store.
FLAG_EXAMPLE_FEATURE=false