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