]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/unbound/manifests/init.pp
What happens when we remove these two notifies
[dsa-puppet.git] / modules / unbound / manifests / init.pp
index fb69d1cce8e9bb64c673883d499940ff1e47e30e..a89f783386220289ab35affa6808705673c653b6 100644 (file)
@@ -16,6 +16,8 @@ class unbound {
             group   => unbound,
             mode    => 775,
             ;
+    }
+    file {
         "/var/lib/unbound/root.key":
             ensure  => present,
             replace => false,
@@ -23,8 +25,10 @@ class unbound {
             group   => unbound,
             mode    => 644,
             source  => [ "puppet:///modules/unbound/root.key" ],
-            notify  => Exec["unbound restart"],
+            #notify  => Exec["unbound restart"],
             ;
+    }
+    file {
         "/var/lib/unbound/debian.org.key":
             ensure  => present,
             replace => false,
@@ -32,8 +36,10 @@ class unbound {
             group   => unbound,
             mode    => 644,
             source  => [ "puppet:///modules/unbound/debian.org.key" ],
-            notify  => Exec["unbound restart"],
+            #notify  => Exec["unbound restart"],
             ;
+    }
+    file {
         "/etc/unbound/unbound.conf":
             content => template("unbound/unbound.conf.erb"),
             require => Package["unbound"],
@@ -42,6 +48,26 @@ class unbound {
             group   => root,
             ;
     }
+
+    case getfromhash($nodeinfo, 'misc', 'resolver-recursive') {
+        true: {
+            case getfromhash($nodeinfo, 'hoster', 'allow_dns_query') {
+                false: {}
+                default: {
+                    @ferm::rule { "dsa-dns":
+                        domain          => "ip",
+                        description     => "Allow nameserver access",
+                        rule            => sprintf("&TCP_UDP_SERVICE_RANGE(53, (%s))", join_spc(filter_ipv4(getfromhash($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($nodeinfo, 'hoster', 'allow_dns_query')))),
+                    }
+                }
+            }
+        }
+    }
 }
 
 # vim:set et: