summaryrefslogtreecommitdiff
path: root/modules/nsupdate/templates/nsupdate.epp
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2021-12-29 20:13:55 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2021-12-29 20:13:55 +0100
commitd04542e000b8f8fadce45af96d93fb904ca99115 (patch)
treee85ee2bb0472d9f83f051f31d2629bf4c96bb755 /modules/nsupdate/templates/nsupdate.epp
parentSetup new site.pp. (diff)
parentMigrate stuff from ansible. (diff)
downloadwebdav_server-d04542e000b8f8fadce45af96d93fb904ca99115.tar.gz
webdav_server-d04542e000b8f8fadce45af96d93fb904ca99115.tar.xz
Merge branch 'master' of /home/hugo/puppet into production
Diffstat (limited to 'modules/nsupdate/templates/nsupdate.epp')
-rw-r--r--modules/nsupdate/templates/nsupdate.epp18
1 files changed, 18 insertions, 0 deletions
diff --git a/modules/nsupdate/templates/nsupdate.epp b/modules/nsupdate/templates/nsupdate.epp
new file mode 100644
index 0000000..66fe4b2
--- /dev/null
+++ b/modules/nsupdate/templates/nsupdate.epp
@@ -0,0 +1,18 @@
+<%- |
+ String $iface,
+ String $nameserver,
+ String $keyname,
+ Array[DNSRecord] $records,
+| -%>
+#!/bin/bash
+
+IP=$(ip -j a show dev <%= $iface %> | jq --raw-output '.[0].addr_info[] | select(.family == "inet").local')
+
+nsupdate "$@" -k '/var/lib/nsupdate/<%= $keyname %>.key' << EOF
+server <%= $nameserver %>
+<%- $records.each |$record| { -%>
+update delete <%= $record['domain'] %> <%= $record['type'] %>
+update add <%= $record['domain'] %> <%= $record['ttl'] %> <%= $record['type'] %> ${IP}
+<%- } -%>
+send
+EOF