# AnsibleTemplate Темплейт для создания, проверки и тестирование ролей Ansible с помощью контейнеров Docker. ### С чего начать? На вашей машине вам необходимо сбилдить образ, где будут запускаться все роли через docker-compose. Это можно сделать самостоятельно: - **make docker build** - создание контейнера - **make docker rebuild** - пересоздание контейнера, если были внесены изменения в Dockerfile - **make docker prune** - очистить систему от лишних образов - **make docker release** - собирает образ контейнера и пушит его в докер реджистри Или ввести команду: - **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** - сменить пароль шифрования ### Работа с Git - **make git push** - запушить изменения. С выбором ветки и вводом коммита. - **make git pull** - получить изменения из репы - **make git new** - создание нового брэнча имя cluster-branch_name для IaC подхода. ### Добавить свой образ контейнера для тестов Что бы добавить или изменить докер-образы для тестирования ролей измените файл настроек молекулы molecule/default/molecule.yml ```yaml - name: ubuntu-instance image: "geerlingguy/docker-ubuntu2004-ansible:latest" privileged: true pre_build_image: true ``` помните, что образ обязательно должен содержать python не ниже версии 3.12