]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/unbound/manifests/init.pp
make unbound get forwarders from hiera
[dsa-puppet.git] / modules / unbound / manifests / init.pp
index 13a6adba300df218760430c870ad5c67fa625c70..5261009bbebed1de7b60d06be5192182ce144d7d 100644 (file)
@@ -1,5 +1,17 @@
+# = Class: unbound
+#
+# This class installs and configures unbound
+#
+# == Sample Usage:
+#
+#   include unbound
+#
 class unbound {
 
+       $is_recursor   = getfromhash($site::nodeinfo, 'misc', 'resolver-recursive')
+       $client_ranges = getfromhash($site::nodeinfo, 'hoster', 'allow_dns_query')
+       $ns            = hiera('nameservers')
+
        package { 'unbound':
                ensure => installed
        }
@@ -43,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(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')))),
                }
        }
 }