backup-path should be something that only the storage system should need to care...
authorPeter Palfrader <peter@palfrader.org>
Tue, 24 Sep 2019 12:24:57 +0000 (14:24 +0200)
committerPeter Palfrader <peter@palfrader.org>
Tue, 24 Sep 2019 12:26:33 +0000 (14:26 +0200)
modules/bacula/manifests/init.pp
modules/bacula/manifests/storage.pp
modules/bacula/manifests/storage_per_node.pp
modules/bacula/templates/storage-per-client.conf.erb

index 5084ffb..0caa7da 100644 (file)
@@ -16,8 +16,6 @@ class bacula (
   String  $bacula_storage_address     = 'storace.debian.org',
   Integer $bacula_storage_port        = 9103,
 
-  String  $bacula_backup_path         = '/srv/bacula',
-
   String  $bacula_director_secret     = hkdf('/etc/puppet/secret', "bacula-dir-${::hostname}"),
   String  $bacula_db_secret           = hkdf('/etc/puppet/secret', "bacula-db-${::hostname}"),
   String  $bacula_storage_secret      = hkdf('/etc/puppet/secret', "bacula-sd-${bacula_storage_name}"),
index 3c01e58..34bd649 100644 (file)
@@ -1,5 +1,9 @@
 # the bacula storage node
-class bacula::storage inherits bacula {
+#
+# @param backup_path the directory where backups should be stored
+class bacula::storage (
+  String $backup_path = '/srv/bacula',
+) inherits bacula {
   package { 'bacula-sd':
     ensure => installed
   }
index d11ac03..e6f8425 100644 (file)
@@ -1,11 +1,9 @@
 # bacula storage for node.  This is stored config by a client, collected on the storage
 define bacula::storage_per_node() {
-
-  include bacula
+  include bacula::storage
 
   $bacula_filestor_device = $bacula::bacula_filestor_device
   $bacula_filestor_name   = $bacula::bacula_filestor_name
-  $bacula_backup_path     = $bacula::bacula_backup_path
 
   $bacula_client_name   = "${name}-fd"
   $client               = $name
@@ -17,7 +15,7 @@ define bacula::storage_per_node() {
       group   => bacula,
       notify  => Exec['bacula-sd restart-when-idle'],
       ;
-    "${bacula_backup_path}/${name}":
+    "${bacula::storage::backup_path}/${name}":
       ensure => directory,
       mode   => '0755',
       owner  => bacula,
index e7c9cee..bd7a678 100644 (file)
@@ -6,7 +6,7 @@
 Device {
   Name = "<%= @bacula_filestor_device %>-<%= @client %>"
   Media Type = "<%= @bacula_filestor_name %>-<%= @client %>"
-  Archive Device = "<%= @bacula_backup_path %>/<%= @client %>"
+  Archive Device = "<%= scope['bacula::storage::backup_path'] %>/<%= @client %>"
   LabelMedia = yes;
   Random Access = Yes;
   AutomaticMount = yes;