Я ищу способ управления конфигурацией с помощью 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