X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbacula%2Fmanifests%2Fdirector.pp;h=b94a9992def4ca7b37ca626c50eff2804676f7d1;hb=c429f34b4841fc1c41eac251fc2e9203704b1164;hp=513d0968669cd58af5c1c1b829e02968003a39cd;hpb=b55d4eadb0e8691a612a43e3e8f4298a8fed1391;p=mirror%2Fdsa-puppet.git diff --git a/modules/bacula/manifests/director.pp b/modules/bacula/manifests/director.pp index 513d09686..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": @@ -35,13 +36,14 @@ class bacula::director inherits bacula { refreshonly => true; } - define bacula_client($client) { + define bacula_client() { # These must be kept in sync with the settings in bacula.pp - $bacula_client_name = "$client-fd" - $bacula_client_secret = hmac("/etc/puppet/secret", "bacula-fd-$client") + $bacula_client_name = "${name}-fd" + $bacula_client_secret = hmac("/etc/puppet/secret", "bacula-fd-${name}") + $client = $name file { - "/etc/bacula/conf.d/$client.conf": + "/etc/bacula/conf.d/${name}.conf": content => template("bacula/per-client.conf.erb"), mode => 440, group => bacula, @@ -49,6 +51,14 @@ class bacula::director inherits bacula { ; } } +# $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", + } - bacula_client { allnodeinfo('hostname', '') } }