Skip to main content

Deployment: hbf-reports

Infrastructure config for this service. Full platform deployment: docs/architecture/deployment.md

Runtime

  • Port: 3000
  • Base image: node:22 (multi-stage)
  • Start command: npm run start:prod
  • Health check: none defined

Required Environment Variables

VariableExampleDescription
ENVproductionEnvironment name
PORT3000HTTP listening port
RUN_MIGRATIONStrueRun DB migrations on startup
CORE_URLhttp://hbf-core:8080hbf-core API base URL
CORE_TOKENtokenAuth token for hbf-core
CONSOLE_URLhttps://console.helvia.aiConsole frontend URL
DB_HOSTlocalhostMySQL host
DB_PORT3306MySQL port
DB_USERNAMErootMySQL user
DB_PASSWORDsecretMySQL password
DB_NAMEhbf-reportsMySQL database name
DB_LOGGINGfalseEnable TypeORM query logging
EMAIL_HOSTsmtp.example.comSMTP host
EMAIL_PORT587SMTP port
EMAIL_SECUREfalseUse TLS for SMTP
EMAIL_USERNAMEuserSMTP username
EMAIL_PASSWORDpassSMTP password
EMAIL_FROM_ADDRESSnoreply@helvia.aiSender email address
EMAIL_FROM_NAMEHelviaSender display name
PINO_LOGGER_USEtrueEnable Pino logger
PINO_LOGGER_LEVELinfoPino log level
ELASTIC_APM_ACTIVEtrueEnable Elastic APM
ELASTIC_APM_SERVER_URLhttp://apm:8200APM server URL
ELASTIC_APM_SECRET_TOKENtokenAPM auth token
ELASTIC_APM_SERVICE_NAMEhbf-reportsAPM service identifier
ELASTIC_APM_ENVIRONMENTproductionAPM environment label

Docker

# Build
docker build -t hbf-reports .

# Run (local dev)
docker compose up

docker-compose includes MySQL 8.0.34 (DB name: hbf-reports).

CI/CD

  • Trigger: push to main/staging/develop
  • Steps: SonarQube audit -> Docker build -> Push to ECR -> Deploy to EKS
  • Deploy target: AWS EKS (helvia-dev, helvia-stg, helvia)

Notes

  • Sends scheduled report emails via SMTP.
  • Supports Elastic APM for distributed tracing and performance monitoring.