Files
ayurishchevandClaude Sonnet 5.5 49890ff5de Add Ansible playbook to deliver validator-agent to the validators
Run from the jump host: on each validator it updates the git clone in
/opt/cloud-ip-validator, builds the image there, stops and removes the
current container and starts a new one from the new image. Run
parameters live in an env file (deploy/ansible/env/validator-agent.env,
git-ignored, template committed).

The image is built before the running container is touched, so a failed
build leaves the old container running. Hosts are updated in waves
(1, 4, rest) and any failure stops the run. validator_id comes from the
inventory and is checked against the running container before it is
replaced. Only ansible.builtin modules are used, so the validators need
no extra packages.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 09:23:39 +03:00

30 lines
1.8 KiB
Bash

# Параметры запуска validator-agent. Скопируйте в validator-agent.env и заполните:
# cp validator-agent.env.example validator-agent.env && chmod 600 validator-agent.env
# Файл передаётся контейнеру как `docker run --env-file` (формат KEY=VALUE, без
# кавычек и пробелов вокруг "="). Читает их deploy/docker/validator-agent/docker-entrypoint.sh.
# VALIDATOR_AGENT_VALIDATOR_ID сюда НЕ пишется: сценарий подставляет имя хоста.
# Адрес control-api (обязательно). Для внешнего размещения — адрес, доступный
# с валидаторов напрямую (через него же работает способ самопроверки control_api).
VALIDATOR_AGENT_CONTROL_API_URL=https://control-api.example.com
# Токен агентов (CONTROL_API_AGENT_TOKEN на стороне control-api). Пусто — если
# токен на control-api ещё не включён.
CONTROL_API_AGENT_TOKEN=
# Способы самопроверки в порядке приоритета: ip_echo, control_api.
# Самопроверка проходит, если адрес подтвердил любой способ. Без пробелов.
VALIDATOR_AGENT_SELF_CHECK_METHODS=[control_api,ip_echo]
# Таймаут одного способа, секунд.
VALIDATOR_AGENT_SELF_CHECK_TIMEOUT_SECONDS=10
# Период опроса control-api, секунд.
VALIDATOR_AGENT_POLL_INTERVAL_SECONDS=5
# Исходящие проверки.
VALIDATOR_AGENT_HTTPS_TIMEOUT_SECONDS=10
VALIDATOR_AGENT_ICMP_TIMEOUT_SECONDS=5
VALIDATOR_AGENT_ICMP_COUNT=3
VALIDATOR_AGENT_SSH_ENABLED=false
VALIDATOR_AGENT_SSH_TIMEOUT_SECONDS=5