Как я могу заменить файл шаблона в роли Ansible?

Некоторые роли Ansible, такие как https://github.com/bertvv/ansible-role-hosts , используют файлы шаблонов, которые могут быть Рядом отсутствует для нужд этого проекта. Если автор роли не предоставил замену переменной для имени шаблона, есть ли способ заменить файл шаблона? Очевидно, я мог бы создать вилку роли и использовать свою собственную вилку, но я надеюсь, что есть лучший ответ, например, «просто поместите файл шаблона замены в каталог шаблонов вашей роли, который зависит от роли Берта».

2
задан 9 April 2019 в 17:55
2 ответа

Путь к плейбуку содержит некоторую магию «делай то, что я имею в виду» для относительных путей. имя роли / шаблоны сначала ищется в порядке зависимости, затем {{playbook_dir}} / templates

Вы не можете изменить это, не изменив каким-либо образом роль, одно из:

  • изменение файла src имя

  • добавление зависимости от вашей роли, которая предоставляет другой шаблон с тем же именем

  • редактирование своего шаблона

Мне больше всего нравится изменять имя файла. Отправьте им изменение, которое превратит имя исходного шаблона в переменную в значениях роли по умолчанию.

3
ответ дан 3 December 2019 в 09:56

Если вы хотите, чтобы изменения происходили при каждом доступном запуске, вы можете использовать задачу lineinfile для созданного файла шаблона (т.е. dest в шаблон задача) после применения роли.

1
ответ дан 3 December 2019 в 09:56

Теги

Похожие вопросы