summaryrefslogtreecommitdiff
path: root/templates/nsupdate.epp
blob: 66fe4b2b633d5ce08db4db2f9ebcea83fd0f4d81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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