Ansible-включить файл vars с удаленного хоста
Я хотел бы включить переменные из файла на удаленном хосте, а не на управляющей машине, на которой работает Ansible.
Например, у меня есть файл /var/database_credentials.yml (на моем веб-сервере)
Как лучше всего добавить переменные из этого файла в hostvars, чтобы я мог использовать их в шаблоне?
Модуль include_vars принимает только файлы с управляющей машины. Я мог бы использовать модуль выборки, но это кажется ненужным шагом.
1 ответ:
Это не должно быть трудно интегрировать с
/etc/ansible/facts.d
.Вы можете хранить файлы JSON, INI-файлы или исполняемые скрипты в этом каталоге, и содержимое / выходные данные будут доступны в качестве фактов сервера после выполнения модуля установки.
Я не уверен, что это займет ЯМЛ. Возможно, Вам повезет, и вы просто добавите символическую ссылку в свой файл
/var/database_credentials.yml
. (ЯМЛ не упоминается в документах, но было бы странно, если бы ЯМЛ не поддерживался, так как почти все в Ansible основано на YAML) если нет, вы можете создать скрипт на предпочитаемом вами языке, который читает этот файл и выводит объект JSON.См. Местные Факты (Факты.d) в документах.