+ # get access to the storage
+ @@ferm::rule::simple { "bacula::fd-to-storage::${client}":
+ tag => "bacula::fd-to-storage::${storage_server}",
+ description => 'Allow bacula-fd access to the bacula-storage',
+ chain => 'bacula-sd',
+ saddr => $bacula::public_addresses,
+ }
+ } elsif $ensure == 'absent' {
+ file { '/etc/bacula':
+ ensure => absent,
+ purge => true,
+ force => true,
+ recurse => true;
+ }
+ }
+
+ ensure_packages ( [
+ 'bacula-fd',
+ 'bacula-common',
+ ], {
+ ensure => $package_ensure
+ })
+
+ service { 'bacula-fd':
+ ensure => $service_ensure,
+ enable => $service_enable,
+ hasstatus => true,
+ }
+
+ exec { 'bacula-fd restart-when-idle':
+ path => '/usr/bin:/usr/sbin:/bin:/sbin',
+ command => "sh -c 'setsid /usr/local/sbin/bacula-idle-restart ${port_fd} bacula-fd &'",
+ refreshonly => true,
+ subscribe => [ File[$bacula::bacula_ssl_server_cert], File[$bacula::bacula_ssl_client_cert] ],
+ require => [ File['/usr/local/sbin/bacula-idle-restart'], File['/etc/bacula/fd-conf.d/empty.conf'] ],
+ }
+
+ file { '/etc/bacula/bacula-fd.conf':
+ ensure => $ensure,
+ content => template('bacula/bacula-fd.conf.erb'),
+ mode => '0640',
+ owner => root,
+ group => bacula,
+ notify => Exec['bacula-fd restart-when-idle'],
+ }
+ file { '/etc/bacula/fd-conf.d/empty.conf':
+ ensure => $ensure,
+ content => '',
+ mode => '0440',
+ group => bacula,
+ notify => Exec['bacula-fd restart-when-idle'],
+ }
+ file { '/usr/local/sbin/bacula-backup-dirs':
+ ensure => $ensure,
+ mode => '0775',
+ source => 'puppet:///modules/bacula/bacula-backup-dirs',
+ }
+ file { '/usr/local/sbin/postbaculajob':
+ ensure => $ensure,
+ mode => '0775',
+ source => 'puppet:///modules/bacula/postbaculajob',
+ }
+ file { '/etc/default/bacula-fd':
+ ensure => $ensure,
+ content => template('bacula/default.bacula-fd.erb'),
+ mode => '0400',
+ owner => root,
+ group => root,
+ notify => Service['bacula-fd'],
+ }
+ if (versioncmp($::lsbmajdistrelease, '9') >= 0 and $facts['systemd']) {
+ dsa_systemd::override { 'bacula-fd':
+ content => @(EOT)
+ [Service]
+ ExecStart=
+ ExecStart=/usr/sbin/bacula-fd -c $CONFIG -f -u bacula -k
+ | EOT
+ }
+ } else {
+ dsa_systemd::override { 'bacula-fd':
+ ensure => absent,
+ }
+ }