aboutsummaryrefslogtreecommitdiff
path: root/ansible/plays
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2024-09-20 20:59:00 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2024-09-20 21:00:11 +0200
commitf64d2870fa503b050cad8caefee5b27a3c55da8d (patch)
tree63be146d2d0eeb83a1adf8b2fc21e0dba374324e /ansible/plays
parent7ad2c810f6743a12a75ada1751bd098960db6846 (diff)
downloadinfra-f64d2870fa503b050cad8caefee5b27a3c55da8d.tar.gz
infra-f64d2870fa503b050cad8caefee5b27a3c55da8d.tar.bz2
infra-f64d2870fa503b050cad8caefee5b27a3c55da8d.tar.xz
infra-f64d2870fa503b050cad8caefee5b27a3c55da8d.zip
dn42.trygvis.io
Diffstat (limited to 'ansible/plays')
-rw-r--r--ansible/plays/ipam-generate-dns.yml27
1 files changed, 27 insertions, 0 deletions
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 }}"