Skip to main content

Deployment: hbf-session-manager

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

Runtime

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

Required Environment Variables

VariableExampleDescription
PORT3000HTTP listening port
DB_HOSTlocalhostMySQL host
DB_PORT3306MySQL port
DB_USERNAMErootMySQL user
DB_PASSWORDsecretMySQL password
DB_NAMEhbf-session-managerMySQL database name
CORE_URLhttp://hbf-core:8080hbf-core API base URL
CORE_TOKENtokenAuth token for hbf-core
NLP_URLhttp://nlp:8080NLP service base URL
CHAT_SESSION_CHECK_INTERVAL_IN_MINS5Interval to check chat sessions
NLP_PIPELINE_CHECK_INTERVAL_IN_MINS5Interval to check NLP pipelines
NLP_PIPELINE_POLL_INTERVAL_IN_SECS10NLP pipeline poll frequency
NLP_PIPELINE_POLL_TIMEOUT_IN_SECS300NLP pipeline poll timeout
SESSION_SERVICE_URLhttp://session:3000Session service base URL
SESSION_SERVICE_REQUEST_TIMEOUT5000Session service request timeout (ms)
FIND_CHAT_SESSIONS_REQUEST_PAGE_SIZE100Page size for chat session queries
BOT_EXPIRE_CONVERSATION_AFTER_DEFAULT_VALUE15Default conversation expiry (minutes)
EVENT_PUBLISHER_URLhttp://event-publisher:3000Event publisher service URL
FIND_SURVEYS_REQUEST_PAGE_SIZE100Page size for survey queries
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-sessionsAPM service identifier
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
EMAIL_IGNORE_TLSfalseSkip TLS verification
CONSOLE_URLhttps://console.helvia.aiConsole frontend URL

Docker

# Build
docker build -t hbf-session-manager .

# Run (local dev)
docker compose up

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

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

  • Elastic APM support for distributed tracing.
  • Connects to NLP and event-publisher services for session lifecycle management.
  • Sends emails for session events (e.g., transcript delivery).