X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Funbound%2Fmanifests%2Finit.pp;h=caf95027dfdd493f7c1d7292340fea8a80d55e80;hb=0260a86f617032bcaa946081bd36dfb43836047c;hp=9a110df2fd5597eee7f910d729218a59062865de;hpb=3eb533e5499e66423bafdedaf6c7d08ead1772de;p=mirror%2Fdsa-puppet.git diff --git a/modules/unbound/manifests/init.pp b/modules/unbound/manifests/init.pp index 9a110df2f..caf95027d 100644 --- a/modules/unbound/manifests/init.pp +++ b/modules/unbound/manifests/init.pp @@ -1,11 +1,25 @@ +# = Class: unbound +# +# This class installs and configures unbound +# +# == Sample Usage: +# +# include unbound +# class unbound { + $is_recursor = getfromhash($site::nodeinfo, 'misc', 'resolver-recursive') + $client_ranges = hiera('allow_dns_query') + $ns = hiera('nameservers') + package { 'unbound': ensure => installed } service { 'unbound': ensure => running, + hasstatus => false, + pattern => 'unbound', } file { '/var/lib/unbound': @@ -41,18 +55,16 @@ class unbound { notify => Service['unbound'] } - if getfromhash($site::nodeinfo, 'misc', 'resolver-recursive') { - if getfromhash($site::nodeinfo, 'hoster', 'allow_dns_query') { - @ferm::rule { 'dsa-dns': - domain => 'ip', - description => 'Allow nameserver access', - rule => sprintf('&TCP_UDP_SERVICE_RANGE(53, (%s))', join_spc(filter_ipv4(getfromhash($site::nodeinfo, 'hoster', 'allow_dns_query')))), - } - @ferm::rule { 'dsa-dns6': - domain => 'ip6', - description => 'Allow nameserver access', - rule => sprintf('&TCP_UDP_SERVICE_RANGE(53, (%s))', join_spc(filter_ipv6(getfromhash($site::nodeinfo, 'hoster', 'allow_dns_query')))), - } + if ($is_recursor and $client_ranges) { + @ferm::rule { 'dsa-dns': + domain => 'ip', + description => 'Allow nameserver access', + rule => sprintf('&TCP_UDP_SERVICE_RANGE(53, (%s))', join_spc(filter_ipv4($client_ranges))), + } + @ferm::rule { 'dsa-dns6': + domain => 'ip6', + description => 'Allow nameserver access', + rule => sprintf('&TCP_UDP_SERVICE_RANGE(53, (%s))', join_spc(filter_ipv6($client_ranges))), } } }