X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbacula%2Fmanifests%2Fstorage%2Fclient.pp;h=e49ff2b328e904e14d4676c87ce2e97c8e4082e8;hb=c0a2aa7bfdcb0d56ec24e0ad98d5f248a995fd70;hp=71d8731da2038213ddd4826bd0bb2188792a2baa;hpb=e272b442942830a6eed50748eb63aa3b6318ca2b;p=mirror%2Fdsa-puppet.git diff --git a/modules/bacula/manifests/storage/client.pp b/modules/bacula/manifests/storage/client.pp index 71d8731da..e49ff2b32 100644 --- a/modules/bacula/manifests/storage/client.pp +++ b/modules/bacula/manifests/storage/client.pp @@ -2,11 +2,11 @@ # # This is stored config by a client and then collected on the storage # -# @param director_server The director for this client -# @param client The name of the client (relevant for device names, media type names, etc.) +# @param director_server director for this client +# @param client name/address of the client (relevant for device names, media type names, etc.) define bacula::storage::client( String $director_server, - String $client = $name + Stdlib::Host $client = $name ) { include bacula::storage @@ -14,6 +14,10 @@ define bacula::storage::client( $media_type_name = "${bacula::storage::filestor_name}-${client}" $directory = "${bacula::storage::backup_path}/${client}" + # this is created in both bacula::storage::client and + # bacula::storage::director and needs to be the same + $dir_storage_secret = hkdf('/etc/puppet/secret', "bacula::director<->storage::${director_server}<->${::fqdn}") + file { "/etc/bacula/storage-conf.d/${client}.conf": content => template('bacula/storage/sd-per-client.conf.erb'), @@ -30,11 +34,12 @@ define bacula::storage::client( } # enable the director to make (client, storage) specific configuration - @@bacula::director::client_from_storage { $::fqdn: + @@bacula::director::client_from_storage { $client: tag => "bacula::to-director::${director_server}", - storage_address => $::fqdn, + client => $client, + storage_address => $bacula::storage::storage_address, port_sd => $bacula::storage::port_sd, - storage_secret => $bacula::storage::storage_secret, + storage_secret => $dir_storage_secret, storage_device_name => $device_name, storage_media_type_name => $media_type_name, }