Align the coordinator with the master PLAN.md (CTX-00, CTX-04) and harden process startup. - CTX-00: freeze docs/api-contract.md as the v1 source of truth for the Go coordinator and Python worker. - CTX-04: worker registry — workers table (migration 0002), domain.Worker, RegisterWorker use case, WorkerRepository, and POST /workers/register. - Contract alignment: claim uses `capabilities` (was `workloads`), COORDINATOR_TOKEN env (WORKER_AUTH_TOKEN kept as fallback), and GET /health now reports database readiness (503 when the DB is down). - Logging: logs are teed to stdout and an optional rotated file (LOG_FILE) via lumberjack, so they survive a container rebuild. - Startup resilience: the initial DB connection is retried with backoff, so the coordinator waits for Postgres to boot instead of crash-looping.
22 lines
721 B
Bash
22 lines
721 B
Bash
# Copy to .env and adjust. All settings are read from the environment.
|
|
|
|
COORDINATOR_ADDR=:8080
|
|
DATABASE_URL=postgres://scimesh:scimesh@localhost:5432/scimesh?sslmode=disable
|
|
|
|
# Shared bearer token every worker must present. Leave empty to disable auth (dev only).
|
|
WORKER_AUTH_TOKEN=change-me
|
|
|
|
# Logging. LOG_LEVEL: debug|info|warn|error. LOG_FILE empty = stdout only;
|
|
# set a path to also write a size-rotated file (kept across restarts).
|
|
LOG_LEVEL=info
|
|
# LOG_FILE=./logs/coordinator.log
|
|
|
|
# Optional tuning (defaults shown).
|
|
DB_MAX_CONNS=10
|
|
# How long to keep retrying the initial DB connection while Postgres boots.
|
|
DB_CONNECT_TIMEOUT=30s
|
|
REQUEST_TIMEOUT=15s
|
|
LEASE_DURATION=2m
|
|
DEFAULT_MAX_ATTEMPTS=3
|
|
REAPER_INTERVAL=30s
|