Back up draghi too
[mirror/dsa-puppet.git] / modules / bacula / manifests / director.pp
index 4540615..c60e8b2 100644 (file)
@@ -18,6 +18,7 @@ class bacula::director inherits bacula {
       ensure  => directory,
       mode => 755,
       group => bacula,
+      purge => true,
       notify  => Exec["bacula-director restart"]
       ;
     "/etc/bacula/bacula-dir.conf":
@@ -34,4 +35,30 @@ class bacula::director inherits bacula {
       path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
       refreshonly => true;
   }
+
+  define bacula_client() {
+    # These must be kept in sync with the settings in bacula.pp
+    $bacula_client_name       = "${name}-fd"
+    $bacula_client_secret     = hmac("/etc/puppet/secret", "bacula-fd-${name}")
+    $client = $name
+
+    file {
+      "/etc/bacula/conf.d/${name}.conf":
+      content => template("bacula/per-client.conf.erb"),
+      mode => 440,
+      group => bacula,
+      notify  => Exec["bacula-director restart"]
+      ;
+    }
+  }
+#  $allhosts = keys($site::allnodeinfo)
+  $allhosts = [ "berlioz.debian.org", "biber.debian.org", "draghi.debian.org" ]
+  bacula_client { $allhosts: }
+
+  @ferm::rule { 'dsa-bacula-dir':
+    domain      => '(ip ip6)',
+    description => 'Allow bacula access from localhost',
+    rule        => "proto tcp mod state state (NEW) dport (bacula-dir) saddr ($bacula_director_address localhost) ACCEPT",
+  }
+
 }