Files
cloud-ip-validator/deploy/docker/.env.prod.example
T
ayurishchevandClaude Sonnet 5 cf5c7fa0e8 Add docker-compose for running all components together
control-api was the only component deployable via a bare Dockerfile alone
(no entrypoint/template, no default mountable config), and there was no
compose file wiring the four services' network, healthcheck ordering, or
DB volume together. Adds a base docker-compose.yml plus dev (override,
auto-loaded) and prod overlays, split by Compose profiles matching the
real deployment topology (control-plane/dashboard/prober/validator), a
ready-to-copy mock config for control-api so `docker compose up` works
out of the box, and the repo's first .gitignore for the local env/config
copies developers create from the committed examples.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NeVbMVEiE7XQAkBd7HQgj6
2026-09-13 15:11:30 +03:00

42 lines
1.6 KiB
Bash

# Copy to .env.prod per host and fill in only what that host needs.
#
# docker compose -f docker-compose.yml -f docker-compose.prod.yml --env-file .env.prod up -d --build
#
# COMPOSE_PROFILES controls which services THIS host runs — pick one:
# control-plane host: control-plane,dashboard
# external prober site: prober
# OpenStack validator VM: validator
# single all-in-one host: control-plane,dashboard,prober,validator
COMPOSE_PROFILES=control-plane,dashboard
# --- control-api (only needed when this host runs the control-plane profile) ---
# Real config with validators/sites/targets/ip_addresses — see
# configs/control-api.example.yaml and docs/SETUP.md. Required.
CONTROL_API_CONFIG_PATH=/etc/cloud-ip-validator/control-api.yaml
# OpenStack creds — only read when the mounted control-api.yaml has
# openstack.mode: real. Leave blank in mock mode.
OS_AUTH_URL=
OS_PROJECT_ID=
OS_REGION_NAME=
OS_INTERFACE=
OS_TOKEN=
# auth_method: password instead of token:
# OS_USERNAME=
# OS_USER_DOMAIN_NAME=
# OS_PASSWORD=
# --- prober (only needed on a prober-profile host) ---
PROBER_SITE_ID=
# Real, network-reachable control-api URL — NOT http://control-api:8080
# unless this host also runs the control-plane profile in the same
# compose invocation.
PROBER_CONTROL_API_URL=https://control-api.internal.example.com
# --- validator-agent (only needed on a validator-profile host) ---
VALIDATOR_AGENT_VALIDATOR_ID=
VALIDATOR_AGENT_CONTROL_API_URL=https://control-api.internal.example.com
# --- admin-dashboard (only needed on a dashboard-profile host) ---
ADMIN_DASHBOARD_CONTROL_API_URL=http://control-api:8080