PatroniConfig/README.md
IaaC Ansible Roles 2e68a84ead Initial commit
2025-03-31 14:06:16 +03:00

3.8 KiB
Raw Blame History

AnsibleTemplate

Темплейт для создания, проверки и тестирование ролей Ansible с помощью контейнеров Docker.

С чего начать?

На вашей машине вам необходимо сбилдить образ, где будут запускаться все роли через docker-compose.

Это можно сделать самостоятельно:

  • make docker build - создание контейнера
  • make docker rebuild - пересоздание контейнера, если были внесены изменения в Dockerfile
  • make docker prune - очистить систему от лишних образов
  • make docker shell - войти в контейнер Shell
  • make docker release - собирает образ контейнера и пушит его в докер реджистри
  • make docker images - собрать образы контейнеров с systemd, для удобного тестирования ролей.

Или ввести команду:

  • make init - которая создаст файл секретов с паролем. Сбилдит образ. И создаст новую роль.

Работа с ролью

  • make role new - создать новую роль из шаблона. Название роли пишется на английском, описание роли на любом языке
  • make role lint - проверяет все роли в папке roles/* на наличие ошибок
  • make role test - позволяет тестировать роль, указанную в molecule/default/converge.yml сразу на двух контейнерах (RedHat и Ubuntu)
  • make role deploy - запускает роль в продакшен. Все хосты берет из файла inventory/hosts

Работа с файлом переменных

Все переменные защищены через Ansible-Vault и находятся в папке vars/secrets.yml

Для смены пароля измените его в файле ./vault-password.txt

  • make vault create - создать новый файл с учетом пароля в файле ./vault-password.txt
  • make vault delete - удалить файл с переменными
  • make vault edit - отредактировать файл переменных
  • make vault show - показать содержимое файла переменных
  • make vault rekey - сменить пароль шифрования
  • make vault encrypt - зашифровать файл секретов
  • make vault decrypt - расшифровать файл секретов

Работа с Git

  • make git push - запушить изменения. С выбором ветки и вводом коммита.
  • make git pull - получить изменения из репы
  • make git new - создание нового брэнча имя cluster-branch_name для IaC подхода.

Добавить свой образ контейнера для тестов

Что бы добавить или изменить докер-образы для тестирования ролей измените файл настроек молекулы molecule/default/molecule.yml

  - name: ubuntu-instance
    image: "your.docker-registry.com/your-image:latest"
    privileged: true
    pre_build_image: true
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro

Помните, что образ обязательно должен содержать python не ниже версии 3.12 и systemd для нормального тестирования ролей.