--- # Параметры доставки validator-agent (не секреты). Любой из них можно # переопределить в командной строке: -e deploy_ref=<коммит|тег>. # Параметры запуска самого агента (адрес control-api, токен, способы # самопроверки, таймауты) лежат в env-файле, см. local_env_file. # SSH: пользователь и ключ одинаковы на jump-хосте и на валидаторах. Путь к # ключу — на jump-хосте (ключ с правами 0600). Для docker и записи env-файла # сценарий повышает права через sudo (become). ansible_user: debian ansible_ssh_private_key_file: ~/.ssh/vk_cloud_priv.key # --- git-клон на валидаторе --------------------------------------------- repo_dir: /opt/cloud-ip-validator repo_remote: origin # Ветка, тег или коммит, который нужно выкатить (откат: -e deploy_ref=<коммит>). deploy_ref: main # Пользователь, от имени которого выполняется git в клоне (через sudo): владелец # клона. На валидаторах клон принадлежит root, репозиторий читается без учётных # данных. Пусто — git работает от SSH-пользователя без sudo. git_user: root # --- образ и контейнер -------------------------------------------------- image_name: cloud-ip-validator-validator-agent # Имя контейнера на валидаторах (имя образа — другое, см. image_name). container_name: validator-agent platform: linux/amd64 dockerfile: deploy/docker/validator-agent/Dockerfile # Сколько образов с метками ревизий хранить (кроме latest); старые удаляются. keep_images: 3 # --- запуск контейнера (как в deploy/docker/RUN.txt) -------------------- restart_policy: unless-stopped capabilities: [NET_RAW] log_max_size: 10m log_max_file: "3" stop_timeout: 10 # --- проверка после запуска --------------------------------------------- verify_retries: 10 verify_delay: 3 # --- env-файл на jump-хосте --------------------------------------------- # Параметры запуска агента. Рабочий файл создаётся из validator-agent.env.example # и в git не попадает. Файл можно зашифровать: ansible-vault encrypt <файл> # (тогда запускайте с --ask-vault-pass или --vault-password-file). local_env_file: "{{ playbook_dir }}/../env/validator-agent.env" # Куда файл копируется на валидатор (путь закрыт .gitignore репозитория, # переживает git reset). remote_env_file: "{{ repo_dir }}/deploy/docker/.env.validator"