05f96fce841666404ca416d2b6731268237a4b5b
[mirror/dsa-puppet.git] / modules / bacula / manifests / node.pp
1 # Bacula client config on the director
2 #
3 # This is stored config by a client, collected on the director
4 #
5 # @param port_fd   port that this node's bacula-fd is listening on
6 define bacula::node (
7   Integer $port_fd = 9102,
8   Integer $bacula_client_port = $bacula::bacula_client_port
9 ) {
10   include bacula
11
12   $bacula_pool_name         = $bacula::bacula_pool_name
13   $bacula_filestor_name     = $bacula::bacula_filestor_name
14   $bacula_filestor_device   = $bacula::bacula_filestor_device
15   $bacula_storage_address   = $bacula::bacula_storage_address
16   $bacula_storage_port      = $bacula::bacula_storage_port
17   $bacula_storage_secret    = $bacula::bacula_storage_secret
18
19   $bacula_ca_path       = $bacula::bacula_ca_path
20   $bacula_ssl_client_cert = $bacula::bacula_ssl_client_cert
21   $bacula_ssl_client_key  = $bacula::bacula_ssl_client_key
22
23   $bacula_client_name   = "${name}-fd"
24   $bacula_client_secret = hkdf('/etc/puppet/secret', "bacula-fd-${name}")
25   $client               = $name
26
27   file { "/etc/bacula/conf.d/${name}.conf":
28     content => template('bacula/per-client.conf.erb'),
29     mode    => '0440',
30     group   => bacula,
31     notify  => Exec['bacula-director reload']
32   }
33
34   file { "/etc/bacula/storages-list.d/${name}.storage":
35     content => "$bacula::bacula_filestor_name-$client\n",
36     mode    => '0440',
37     group   => bacula,
38     notify  => Exec['bacula-director reload']
39   }
40 }
41