]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/bacula/manifests/director.pp
A comma, a comma, my kingdom for a comma. (Typo fix)
[dsa-puppet.git] / modules / bacula / manifests / director.pp
index 3bb019764887248114775d5740c3db601c896cbe..b94a9992def4ca7b37ca626c50eff2804676f7d1 100644 (file)
@@ -18,10 +18,11 @@ class bacula::director inherits bacula {
       ensure  => directory,
       mode => 755,
       group => bacula,
+      purge => true,
       notify  => Exec["bacula-director restart"]
       ;
     "/etc/bacula/bacula-dir.conf":
-      content => template("bacula/etc/bacula/bacula-dir.conf.erb"),
+      content => template("bacula/bacula-dir.conf.erb"),
       mode => 440,
       group => bacula,
       require => Package["bacula-director-pgsql"],
@@ -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" ]
+  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",
+  }
+
 }