# Copy to .env and edit if needed — defaults below work out of the box # with control-api/control-api.docker.example.yaml (openstack.mode: mock, # no OpenStack credentials needed). # # cp .env.example .env # cp control-api/control-api.docker.example.yaml control-api/control-api.docker.yaml # docker compose up -d --build COMPOSE_PROFILES=control-plane,dashboard,prober,validator # --- prober (must match a site_id in the mounted control-api config) --- PROBER_SITE_ID=site-1 # --- validator-agent (must match a validator_id in the mounted control-api config) --- VALIDATOR_AGENT_VALIDATOR_ID=validator_01 # --- authentication (empty = that level stays open; services log a warning) --- # Generate each secret with: openssl rand -hex 32 # control-api admin token (protects /api/v1/admin/*) and the dashboard's copy of it: CONTROL_API_ADMIN_TOKEN= ADMIN_DASHBOARD_CONTROL_API_TOKEN= # control-api agent token (protects result/event writes); the same value goes # to prober and validator-agent: CONTROL_API_AGENT_TOKEN= # Dashboard login (both must be set to enable it) and cookie-signing key: ADMIN_DASHBOARD_USERNAME= ADMIN_DASHBOARD_PASSWORD= ADMIN_DASHBOARD_SESSION_SECRET= # ADMIN_DASHBOARD_CONTROL_API_URL / PROBER_CONTROL_API_URL / # VALIDATOR_AGENT_CONTROL_API_URL default to http://control-api:8080 in # docker-compose.yml (same Docker network) — only set here to override.