X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbacula%2Fmanifests%2Fdirector.pp;h=b94a9992def4ca7b37ca626c50eff2804676f7d1;hb=c429f34b4841fc1c41eac251fc2e9203704b1164;hp=4540615135d98e13a1040fc8be5e41631a656a41;hpb=436ff46d3c753604a05edb805910fe1e9a855cab;p=mirror%2Fdsa-puppet.git diff --git a/modules/bacula/manifests/director.pp b/modules/bacula/manifests/director.pp index 454061513..b94a9992d 100644 --- a/modules/bacula/manifests/director.pp +++ b/modules/bacula/manifests/director.pp @@ -18,6 +18,7 @@ class bacula::director inherits bacula { ensure => directory, mode => 755, group => bacula, + purge => true, notify => Exec["bacula-director restart"] ; "/etc/bacula/bacula-dir.conf": @@ -34,4 +35,30 @@ class bacula::director inherits bacula { path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", refreshonly => true; } + + define bacula_client() { + # These must be kept in sync with the settings in bacula.pp + $bacula_client_name = "${name}-fd" + $bacula_client_secret = hmac("/etc/puppet/secret", "bacula-fd-${name}") + $client = $name + + file { + "/etc/bacula/conf.d/${name}.conf": + content => template("bacula/per-client.conf.erb"), + mode => 440, + group => bacula, + notify => Exec["bacula-director restart"] + ; + } + } +# $allhosts = keys($site::allnodeinfo) + $allhosts = [ "berlioz.debian.org" ] + bacula_client { $allhosts: } + + @ferm::rule { 'dsa-bacula-dir': + domain => '(ip ip6)', + description => 'Allow bacula access from localhost', + rule => "proto tcp mod state state (NEW) dport (bacula-dir) saddr ($bacula_director_address localhost) ACCEPT", + } + }