Deployment: hbf-broadcast
Infrastructure config for this service. Full platform deployment:
docs/architecture/deployment.md
Runtime
- Port: 3000 (default from
config/default.yml; override withPORTenv var) - Base image: node:18 (build stage) / node:18-slim (run stage)
- Start command:
npm run apm-start - Health check: none defined
Required Environment Variables
| Variable | Example | Description |
|---|---|---|
| HOST | 0.0.0.0 | Bind address |
| PORT | 3000 | Listen port (default from config/default.yml) |
| NODE_ENV | dev | Environment name |
| CORE_URL | http://hbf-core:8080 | Core service URL |
| CORE_TOKEN | (secret) | Auth token for Core service |
| SCAN_INTERVAL_TIME | 60 | Broadcast scan loop interval in seconds |
| FB_GRAPH_VERSION | v2.6 | Facebook Graph API version |
| FB_MAX_USERS_PER_BATCH | 100 | Facebook batch size |
| FB_BATCH_DELAY | 15 | Delay between Facebook batches (seconds) |
| TEAMS_MAX_USERS_PER_BATCH | 200 | Teams batch size |
| TEAMS_BATCH_DELAY | 15 | Delay between Teams batches (seconds) |
| VIBER_MAX_USERS_PER_BATCH | 150000 | Viber batch size |
| VIBER_BATCH_DELAY | 10 | Delay between Viber batches (seconds) |
Docker
# Build
docker build -t hbf-broadcast .
# Run (local dev)
docker compose up
CI/CD
- Trigger: push to main/staging/develop
- Pipelines: ci.yml
- Steps: SonarQube audit -> Docker build -> Push to ECR -> Deploy to EKS
- Deploy target: AWS EKS (helvia-dev, helvia-stg, helvia)
Notes
- Daemon process with a scan loop (no HTTP API beyond health). No external database; reads broadcast definitions from Core.