summaryrefslogtreecommitdiff
path: root/modules/nsupdate
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-01-12 02:26:25 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2022-01-12 02:26:25 +0100
commitdd28dcf3d620a4ac7d0a1532b812213cf094cd3c (patch)
treea3fa8c8ef446de2bcc2f317bceb4bca868f7e0f0 /modules/nsupdate
parentMove webdav into profiles. (diff)
downloadwebdav_server-dd28dcf3d620a4ac7d0a1532b812213cf094cd3c.tar.gz
webdav_server-dd28dcf3d620a4ac7d0a1532b812213cf094cd3c.tar.xz
Revert "Move webdav into profiles."
It actually reverts the non-need for the nginx module webdav_ext. Since Omnifocus requires PROPFIND. This reverts commit edf6ffe8b399679ba28cc5e558a6838919dd1ee8.
Diffstat (limited to 'modules/nsupdate')
-rw-r--r--modules/nsupdate/manifests/init.pp6
-rw-r--r--modules/nsupdate/manifests/instance.pp64
-rw-r--r--modules/nsupdate/manifests/setup.pp14
-rw-r--r--modules/nsupdate/templates/nsupdate.epp18
4 files changed, 0 insertions, 102 deletions
diff --git a/modules/nsupdate/manifests/init.pp b/modules/nsupdate/manifests/init.pp
deleted file mode 100644
index 08c5080..0000000
--- a/modules/nsupdate/manifests/init.pp
+++ /dev/null
@@ -1,6 +0,0 @@
-class nsupdate (
- Hash[String,Hash] $instances,
- Hash[String,Hash] $secrets,
-) {
- create_resources(nsupdate::instance, $instances)
-}
diff --git a/modules/nsupdate/manifests/instance.pp b/modules/nsupdate/manifests/instance.pp
deleted file mode 100644
index 7f2f3ff..0000000
--- a/modules/nsupdate/manifests/instance.pp
+++ /dev/null
@@ -1,64 +0,0 @@
-# type DNSRecordType = ['A', 'AAAA', 'AFSDB', 'APL', 'CAA', 'CDNSKEY', 'CDS',
-# 'CERT', 'CNAME', 'CSYNC', 'DHCID', 'DLV', 'DNAME', 'DNSKEY', 'DS', 'EUI48',
-# 'EUI64', 'HINFO', 'HIP', 'HTTPS', 'IPSECKEY', 'KEY', 'KX', 'LOC', 'MX',
-# 'NAPTR', 'NS', 'NSEC', 'NSEC3', 'NSEC3PARAM', 'OPENPGPKEY', 'PTR', 'RRSIG',
-# 'RP', 'SIG', 'SMIMEA', 'SOA', 'SRV', 'SSHFP', 'SVCB', 'TA', 'TKEY', 'TLSA',
-# 'TSIG', 'TXT', 'URI', 'ZA', 'AAAA', 'AFSDB', 'APL', 'CAA', 'CDNSKEY', 'CDS',
-# 'CERT', 'CNAME', 'CSYNC', 'DHCID', 'DLV', 'DNAME', 'DNSKEY', 'DS', 'EUI48',
-# 'EUI64', 'HINFO', 'HIP', 'HTTPS', 'IPSECKEY', 'KEY', 'KX', 'LOC', 'MX',
-# 'NAPTR', 'NS', 'NSEC', 'NSEC3', 'NSEC3PARAM', 'OPENPGPKEY', 'PTR', 'RRSIG',
-# 'RP', 'SIG', 'SMIMEA', 'SOA', 'SRV', 'SSHFP', 'SVCB', 'TA', 'TKEY', 'TLSA',
-# 'TSIG', 'TXT', 'URI', 'ZONEMD']
-
-type DNSRecordType = Enum['A']
-
-type DNSRecord = Struct[{
- domain => String,
- type => DNSRecordType,
- ttl => Integer,
-}]
-
-# Sets up a single instance of a reoccuring nsupdate.
-# Note that nsupdate::secret.$keyname needs to be made available through hiera
-# /etc/puppetlabs/code/environments/production/data/nodes/hornquist.se.yaml
-define nsupdate::instance (
- String $nameserver,
- Array[DNSRecord] $records,
- String $iface = $facts['networking']['primary'],
- Enum['present', 'absent'] $ensure = present,
- String $keyname = $name,
-) {
-
- require ::nsupdate::setup
-
- file { "/usr/libexec/nsupdate/${name}":
- ensure => $ensure,
- mode => '0555',
- content => epp('nsupdate/nsupdate.epp', {
- iface => $iface,
- nameserver => $nameserver,
- records => $records,
- keyname => $keyname,
- })
- }
-
- $key = $nsupdate::secrets[$keyname]
- $secret = Sensitive($key['secret'])
- file { "/var/lib/nsupdate/${keyname}.key":
- ensure => file,
- mode => '0400',
- show_diff => false,
- content => @("EOF")
- key "${keyname}" {
- algorithm ${key['algorithm']};
- secret "${secret.unwrap}";
- };
- | EOF
- }
-
- cron { "nsupdate ${name}":
- ensure => $ensure,
- command => "/usr/libexec/nsupdate/${name}",
- minute => 0,
- }
-}
diff --git a/modules/nsupdate/manifests/setup.pp b/modules/nsupdate/manifests/setup.pp
deleted file mode 100644
index 9aba4ff..0000000
--- a/modules/nsupdate/manifests/setup.pp
+++ /dev/null
@@ -1,14 +0,0 @@
-class nsupdate::setup (
-) {
- file { '/usr/libexec/nsupdate':
- ensure => directory,
- }
-
- file { '/var/lib/nsupdate':
- ensure => directory,
- }
-
- ensure_packages(['bind9-dnsutils'], {
- ensure => installed,
- })
-}
diff --git a/modules/nsupdate/templates/nsupdate.epp b/modules/nsupdate/templates/nsupdate.epp
deleted file mode 100644
index 66fe4b2..0000000
--- a/modules/nsupdate/templates/nsupdate.epp
+++ /dev/null
@@ -1,18 +0,0 @@
-<%- |
- 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