Lean Express service with observability baked in.
- Health and metrics endpoints (
/health,/metricsvia prom-client histogram/counter) - OpenTelemetry auto-instrumentation with console span exporter
- JSON logging with winston, enriched with trace/span IDs
- Env parsing/validation via zod + dotenv (
SERVICE_NAME,PORT,METRICS_PREFIX,ENV) - TypeScript build (
yarn build->dist/), runtime entry atdist/index.js
- Multi-stage build from
node:24-alpine3.21 - Installs deps with Yarn, builds TypeScript, copies
dist+ productionnode_modules - Runs as non-root
appuser(UID/GID 1111) in/app - Default command:
yarn start
yarn installyarn devfor live reload oryarn build && yarn startto run the compiled app`
- To deploy a new version of the application, build a new application image by running
build-push-image.yamlGithub Action. - Changes are picked up by ArgoCD and deployed automatically.