diff options
Diffstat (limited to 'ansible')
-rw-r--r-- | ansible/group_vars/all/ipam.yml | 1 | ||||
-rw-r--r-- | ansible/plays/ipam-generate-dns.yml | 27 |
2 files changed, 28 insertions, 0 deletions
diff --git a/ansible/group_vars/all/ipam.yml b/ansible/group_vars/all/ipam.yml index 6c61600..991bf81 100644 --- a/ansible/group_vars/all/ipam.yml +++ b/ansible/group_vars/all/ipam.yml @@ -42,6 +42,7 @@ ipam6: range: "fdb1:4242:3538:2008::/64" hosts: lhn2pi: "fdb1:4242:3538:2008::ffff/64" + conflatorio: "fdb1:4242:3538:2008:8042:32ff:fe0c:7161" dn42: range: "fd00::/8" diff --git a/ansible/plays/ipam-generate-dns.yml b/ansible/plays/ipam-generate-dns.yml new file mode 100644 index 0000000..7bdbfaa --- /dev/null +++ b/ansible/plays/ipam-generate-dns.yml @@ -0,0 +1,27 @@ +- hosts: localhost + gather_facts: no + connection: local + tasks: + - set_fact: + content: | + {% set hosts = [] %} + {% for nw_name, network in ipam6.networks.items() %} + {% for host, address in (network.hosts|default({})).items() %} + {{- hosts.append({'name': host, 'address': address}) -}} + {% endfor %} + {% endfor %} + # Generated from ansible data + {% for h in hosts|sort(attribute='name') %} + + resource "linode_domain_record" "dn42-{{ h.name }}" { + domain_id = linode_domain.root.id + name = "{{ h.name }}.dn42" + record_type = "AAAA" + target = "{{ h.address|ansible.utils.ipv6('address') }}" + } + {% endfor %} + - debug: + msg: "{{ content }}" + - copy: + dest: ../../terraform/dns/dn42.tf + content: "{{ content }}" |