Всем привет!
У меня есть несколько ролей в ансибл, описывающих установку 2 приложений, на каждое приложение по папке, например:
app1/roles/common/main.yml
app2/roles/common/main.yml
Но приложения имеют между собой похожие задания которые описывают в main.yml Типа как установка ntp, мониторинга и т.д.
Хотелось бы иметь одно место, для таких одинаковых тасков, а не плодить их от роли к роли. Как мне это видится, это отдельная папка с такими повторяющимися задачами:
playbooks/common_tasks.yml
И оттуда таски импортировать в нужные роли.
app1/roles/common/main.yml
app2/roles/common/main.yml
Но может кто-то ещё что подскажет?
P.S. Импортировать роль из папок с уровня app1 не подходит, потому что импорт роли смотрит только в папку app1/roles. Или в стандартную которая задана в конфигурации ansible: «/etc/ansible/roles». Но это в принципе подойдёт... Но всё же хочу услышать кто как делает. Наверняка каждый сталкивался с тем что от роли к роли задания есть повторяющиеся.
А сам ansible в своём репозитории дублирует например установку ntp от проекта к проекту например:
Установка ntp в проекте «lamp_simple»: https://github.com/ansible/ansible-examples/blob/master/lamp_simple/roles/com...
Опять установка ntp в другом проекте «lamp_haproxy»: https://github.com/ansible/ansible-examples/blob/master/lamp_haproxy/roles/co...
ansible, configuration management