Files
cloud-ip-validator/deploy/docker/control-api/control-api.docker.example.yaml
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

66 lines
1.4 KiB
YAML

# Ready-to-copy control-api config for `docker compose` dev use — mock
# OpenStack mode (no credentials needed) with minimal seed data matching
# deploy/docker/.env.example's PROBER_SITE_ID / VALIDATOR_AGENT_VALIDATOR_ID
# defaults, so `docker compose up` works out of the box after:
#
# cp control-api.docker.example.yaml control-api.docker.yaml
#
# For a real deployment, start from configs/control-api.example.yaml
# instead (full schema reference, openstack.mode: real).
server:
listen_addr: ":8080"
database:
path: "/var/lib/cloud-ip-validator/control-api.db"
openstack:
mode: "mock"
orchestrator:
poll_interval_seconds: 5
self_check_timeout_seconds: 60
max_self_check_retries: 3
checking_window_seconds: 120
max_retries: 3
lease_ttl_seconds: 180
heartbeat_timeout_seconds: 30
fip_settle_seconds: 0
aggregation:
missing_counts_as_fail: true
validators:
- validator_id: "validator_01"
os_port_id: "mock-port-1"
sites:
- site_id: "site-1"
index: 1
check_types:
- name: "https"
enabled: true
targets: ["default-targets"]
- name: "icmp"
enabled: true
targets: ["default-targets"]
- name: "ssh"
enabled: false
targets: []
targets:
default-targets:
- "https://hub.docker.com"
- "https://github.com"
- "https://packages.ubuntu.com"
inbound_checks:
ports: [22, 80, 443, 8080]
icmp: true
ip_addresses:
- "203.0.113.10"
- "203.0.113.11"
- "203.0.113.12"