# bacula class -- defines all the variables we care about in our bacula deployment
#
# @param public_addresses this host's public IP addresses. The ones it connects out from and is reachable from outsite.
+# @param has_ipv4 daemons should listen on ipv4
+# @param has_ipv6 daemons should listen on ipv6
class bacula (
String $bacula_operator_email = 'bacula-reports@admin.debian.org',
String $tag_bacula_dsa_client_list = 'bacula::dsa::clientlist',
Array[Stdlib::IP::Address] $public_addresses = $base::public_addresses,
+
+ Boolean $has_ipv4 = $bacula::public_addresses.any |$addr| { $addr =~ Stdlib::IP::Address::V4 },
+ Boolean $has_ipv6 = $bacula::public_addresses.any |$addr| { $addr =~ Stdlib::IP::Address::V6 },
) {
file { '/usr/local/sbin/bacula-idle-restart':
mode => '0555',
# @param port_sd port for the sd to listen on
# @param storage_name bacula name of this sd instance
# @param storage_address address of this sd instance that other instances should connect to (dns name)
-# @param has_ipv4 SD should listen on ipv4
-# @param has_ipv6 SD should listen on ipv6
class bacula::storage (
String $backup_path = '/srv/bacula',
String $filestor_device = 'FileStorage',
Integer $port_sd = 9103,
String $storage_name = "${::fqdn}-sd",
Stdlib::Host $storage_address = $::fqdn,
- Boolean $has_ipv4 = $bacula::public_addresses.any |$addr| { $addr =~ Stdlib::IP::Address::V4 },
- Boolean $has_ipv6 = $bacula::public_addresses.any |$addr| { $addr =~ Stdlib::IP::Address::V6 },
) inherits bacula {
package { 'bacula-sd':
# 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 = <hostname> }. Boo.
- <%- if scope.lookupvar('deprecated::nodeinfo')['misc']['has_v4_ldap'] -%>
+ <%- if @has_ipv4 -%>
ipv4 = {
# use the hostname rather than the IP address from LDAP,
# as /etc/hosts might have a better answer in case of natted hosts.
port = <%= @port_fd %>
}
<%- end -%>
- <%- scope.lookupvar('deprecated::nodeinfo')['misc']['v6_ldap'].each do |addr| -%>
+ <%- if @has_ipv6 -%>
ipv6 = {
addr = <%= addr %>
port = <%= @port_fd %>