]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/bacula/manifests/director.pp
Generate per-client configs for bacula. Hopefully
[dsa-puppet.git] / modules / bacula / manifests / director.pp
index 3bb019764887248114775d5740c3db601c896cbe..37bea1d269563aee9cf3fcccc8bd72f066793e54 100644 (file)
@@ -21,7 +21,7 @@ class bacula::director inherits bacula {
       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 +34,20 @@ class bacula::director inherits bacula {
       path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
       refreshonly => true;
   }
+
+  define bacula_client($client) {
+    # These must be kept in sync with the settings in bacula.pp
+    $bacula_client_name       = "$client-fd"
+    $bacula_client_secret     = hmac("/etc/puppet/secret", "bacula-fd-$client")
+
+    file {
+      "/etc/bacula/conf.d/$client.conf":
+      content => template("bacula/per-client.conf.erb"),
+      mode => 440,
+      group => bacula,
+      notify  => Exec["bacula-director restart"]
+      ;
+  }
+
+  bacula_client(allnodeinfo('hostname', ''))
 }