Infrastructure-only repository — no source code. Wraps a legacy Windows executable (TELSBillProcessing.exe) with Nomad orchestration, Terraform configuration, and CI/CD pipeline.
| Component | Type | Description |
|---|---|---|
| Terraform | IaC | Nomad batch-legacy module configuration per environment |
| CI/CD | GitLab CI | Trigger, enable, disable, and unlock mutex jobs |
| nomad.yml | Job spec | Nomad batch-legacy job template |
TELS Billing Processor is a Nomad-orchestrated legacy Windows batch job that runs two core billing operations:
C:/utility/DSHE/TELSBillProcessing/TELSBillProcessing.exe/Mode GenerateTelsBills, /Mode ProcessMdidOrders, /Mode ReleaseMutex /MutexType <type>Database-level mutual exclusion prevents concurrent execution:
- Mutex types: GenerateTelsBills, ProcessMdidOrders
- prohibit_overlap = true in Nomad config
- Unlock jobs: Scheduled at impossible time (59 23 31 FEB SUN) — designed for manual GitLab CI trigger only when a job hangs
| Setting | Value |
|---|---|
| App Name | bill-processor-generate-tels-bills |
| Schedule | 0 5 * * * (daily 5:00 AM CT) |
| Arguments | /Mode GenerateTelsBills |
| Exit Codes | 0 = success |
| Setting | Value |
|---|---|
| App Name | bill-processor-process-mdid-orders |
| Schedule | 0 6-16 * * * (hourly, 6 AM–4 PM CT) |
| Arguments | /Mode ProcessMdidOrders |
| Exit Codes | 0 = success |
| Job | Arguments |
|---|---|
bill-processor-unlock-mutex-generate-tels-bills |
/Mode ReleaseMutex /MutexType GenerateTelsBills |
bill-processor-unlock-mutex-process-mdid-orders |
/Mode ReleaseMutex /MutexType ProcessMdidOrders |
| Category | Technology |
|---|---|
| Orchestration | Nomad (batch-legacy module, Windows) |
| IaC | Terraform 1.1.5+ |
| Secrets | HashiCorp Vault |
| Configuration | Consul |
| Binary | Legacy Windows executable (TELSBillProcessing.exe) |
Configured via Consul environment variables:
| Integration | Setting | Description |
|---|---|---|
| Auth Service | AuthorizationServiceEndpoint |
Token endpoint |
| Building Services | BuildingServicesServiceEndpoint |
Building/facility data |
| TELS Database | ConnectionString |
SQL Server (TELS DB) |
| Environment | Auth Endpoint | Building Services Endpoint | Database |
|---|---|---|---|
| DEV | https://devservices.tels.net/auth | https://devservices.tels.net/BuildingServices | SQL-DSHE-DE-TRAN |
| QA | https://qaservices.tels.net/auth | https://qaservices.tels.net/BuildingServices | SQL-DSHE-E-TRAN |
| PROD | https://services.tels.net/auth | https://services.tels.net/BuildingServices | SQL-TELS-PE-TRAN |
No build step — binary already exists in Nomad Windows container.
Job naming convention:
- b:trigger_{env}_{operation} — Trigger Nomad job
- c:disable_{env}_{operation} — Disable job (manual)
- d:enable_{env}_{operation} — Enable job (manual)
- e:unlock_mutex_{env}_{operation} — Release mutex (manual)
Pipeline: Includes child from platypus/ci-scripts v2 nomad-deploy-no-build.yml
nomad-batch-legacy module for Windows container execution, unlike the Linux-based Alpine containers used by other TELS batch jobs.Feb 31st) to prevent accidental execution — must be manually triggered via GitLab CI.master as default branch.