feat: Unleash feature flags via src/lib/flags.ts, hello-banner on GET /
Some checks failed
/ checks (push) Successful in 37s
/ deploy (push) Has been cancelled

Ported from service-template-express 9b63993.
This commit is contained in:
nholtware 2026-11-05 11:07:38 -06:00
parent 28ec495a98
commit ec4b769be2
12 changed files with 675 additions and 17 deletions

View file

@ -6,5 +6,6 @@
- Logging contract (log pipeline depends on it): JSON per line on stdout with `level,time,msg,service,version`; requests add `req.id,req.method,req.url,res.statusCode,responseTime`.
- Health contract: `/healthz` liveness (always 200), `/readyz` readiness (checks configured Postgres/Redis, else 503 JSON).
- Seams: cross-cutting modules in `src/lib/`, endpoints in `src/routes/` wired in `src/app.ts`.
- Feature flags: only via `deps.flags` (`src/lib/flags.ts`, Unleash); never import `unleash-client` elsewhere. Unset `UNLEASH_URL` = all flags off.
- Migrations: `migrations/*.sql`, run in-cluster by an ArgoCD PreSync Job using this same image.
- Deploy: push to `main` -> Forgejo CI -> image -> gitops bump -> ArgoCD. Never `kubectl apply` by hand.