Я ищу способ управления конфигурацией с помощью Ansible.
У меня есть структура repo / 1.2.3.4 / file.conf.
Может ли Ansible получить IP 1.2.3.4 для каждого хоста и развернуть файл на хосте? Использование переменной упростило бы настройку.
- copy: src=/repo/$IP/file.conf dest=/etc/file.conf owner=foo group=foo mode=0644
Да, вы можете сделать это с помощью Ansible. Ansible собирает факты о системе перед каждым запуском. Вы можете проверить эти факты о системе с помощью setup
модуль вроде этого:
ansible hostname -m setup
Проверьте документация Чтобы получить больше информации.
Я полагаю, вы ищете адрес ip4 по умолчанию. Что было бы ansible_default_ipv4
. Вы можете получить доступ к значению переменной следующим образом:
- copy: src=/repo/{{ ansible_default_ipv4.address }}/file.conf dest=/etc/file.conf owner=foo group=foo mode=0644