X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbacula%2Ftemplates%2Fbacula-fd.conf.erb;h=16a89e088ccdbef9982aa18be281ad0a0a558aae;hb=e272b442942830a6eed50748eb63aa3b6318ca2b;hp=25ffade0b2fdd2bb2f2939227ec58b6d4ba1db90;hpb=1842c3466ee92bb4f17654fda73f182f8b2fe12a;p=mirror%2Fdsa-puppet.git diff --git a/modules/bacula/templates/bacula-fd.conf.erb b/modules/bacula/templates/bacula-fd.conf.erb index 25ffade0b..16a89e088 100644 --- a/modules/bacula/templates/bacula-fd.conf.erb +++ b/modules/bacula/templates/bacula-fd.conf.erb @@ -6,23 +6,65 @@ # List Directors who are permitted to contact this File daemon Director { - Name = <%= bacula_director_name %> - Password = "<%= bacula_client_secret %>" + Name = <%= @bacula_director_name %> + Password = "<%= @bacula_client_secret %>" + + TLS Enable = yes + TLS Require = yes + TLS Verify Peer = yes + TLS Allowed CN = "clientcerts/<%= @director_server %>" + TLS CA Certificate File = "<%= @bacula_ca_path %>" + # This is a server certificate, used for incoming director connections. + TLS Certificate = "<%= @bacula_ssl_server_cert %>" + TLS Key = "<%= @bacula_ssl_server_key %>" } # "Global" File daemon configuration specifications FileDaemon { - Name = <%= bacula_client_name %> - FDport = <%= bacula_client_port %> + Name = <%= @bacula_client_name %> + FDAddresses = { + # bacula, on Debian 9 (stretch), does not resolve a single name + # to both v4 and v6 addresses. Se we can't just say + # ip = { addr = }. Boo. + <%- if scope.lookupvar('deprecated::nodeinfo')['misc']['has_v4_ldap'] -%> + ipv4 = { + # use the hostname rather than the IP address from LDAP, + # as /etc/hosts might have a better answer in case of natted hosts. + addr = <%= @fqdn %> + port = <%= @port_fd %> + } + <%- end -%> + <%- scope.lookupvar('deprecated::nodeinfo')['misc']['v6_ldap'].each do |addr| -%> + ipv6 = { + addr = <%= addr %> + port = <%= @port_fd %> + } + <%- end -%> + } WorkingDirectory = /var/lib/bacula +<%- if scope.call_function('versioncmp', [@lsbmajdistrelease, '8']) <= 0 -%> Pid Directory = /var/run/bacula +<%- else -%> + Pid Directory = /run/bacula + Plugin Directory = /usr/lib/bacula +<%- end -%> Maximum Concurrent Jobs = 20 - FDAddress = <%= fqdn %> - Maximum Network Buffer Size = 4194304 + + TLS Enable = yes + TLS Require = yes + TLS CA Certificate File = "<%= @bacula_ca_path %>" + # This is a client certificate, used by the client to connect to the storage daemon + TLS Certificate = "<%= @bacula_ssl_client_cert %>" + TLS Key = "<%= @bacula_ssl_client_key %>" + +<%- if scope.lookupvar('deprecated::nodeinfo')['hoster']['name'] == "brown" -%> + # broken firewall + Heartbeat Interval = 60 +<%- end -%> } # Send all messages except skipped files back to Director Messages { Name = Standard - director = <%=bacula_director_name%> = all, !skipped, !restored + director = <%= @bacula_director_name %> = all, !skipped, !restored }