<%- | 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