bacula_dsa_client_list and tag_bacula_dsa_client_list are not parameters
[mirror/dsa-puppet.git] / modules / bacula / manifests / init.pp
index 6143d12..36e970b 100644 (file)
@@ -1,36 +1,28 @@
-class bacula {
+# 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',
 
-       $bacula_operator_email    = 'debian-admin@debian.org'
+  String  $bacula_ca_path             = '/etc/ssl/debian/certs/ca.crt',
+  String  $bacula_ssl_client_cert     = '/etc/ssl/debian/certs/thishost.crt',
+  String  $bacula_ssl_client_key      = '/etc/ssl/private/thishost.key',
+  String  $bacula_ssl_server_cert     = '/etc/ssl/debian/certs/thishost-server.crt',
+  String  $bacula_ssl_server_key      = '/etc/ssl/private/thishost-server.key',
 
-       $bacula_director_name     = 'debian-dir'
-       $bacula_storage_name      = 'debian-sd'
-       $bacula_client_name       = "${::fqdn}-fd"
-       $bacula_monitor_name      = 'debian-mon'
-       $bacula_filestor_name     = 'File'
-       $bacula_filestor_device   = 'FileStorage'
-       $bacula_pool_name         = 'debian'
+  Array[Stdlib::IP::Address] $public_addresses = $base::public_addresses,
 
-       # use IP address for ferm.
-       $bacula_director_ip       = '206.12.19.139'
-       $bacula_director_address  = 'dinis.debian.org'
-       $bacula_director_port     = 9101
-       $bacula_storage_address   = 'beethoven.debian.org'
-       $bacula_storage_port      = 9103
-       $bacula_client_port       = 9102
-       $bacula_db_address        = 'danzi.debian.org'
-       $bacula_db_port           = 5433
+  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 },
+) {
+  # This file is used by our helper scripts on the director
+  $bacula_dsa_client_list     = '/etc/bacula/dsa-clients'
+  $tag_bacula_dsa_client_list = 'bacula::dsa::clientlist'
 
-       $bacula_backup_path       = '/srv/bacula'
-
-       $bacula_director_secret   = hkdf('/etc/puppet/secret', "bacula-dir-${::hostname}")
-       $bacula_db_secret         = hkdf('/etc/puppet/secret', "bacula-db-${::hostname}")
-       $bacula_storage_secret    = hkdf('/etc/puppet/secret', "bacula-sd-${bacula_storage_name}")
-       $bacula_client_secret     = hkdf('/etc/puppet/secret', "bacula-fd-${::fqdn}")
-       $bacula_monitor_secret    = hkdf('/etc/puppet/secret', "bacula-monitor-${bacula_director_name}")
-
-       $bacula_ca_path           = '/etc/ssl/debian/certs/ca.crt'
-       $bacula_ssl_client_cert   = '/etc/ssl/debian/certs/thishost.crt'
-       $bacula_ssl_client_key    = '/etc/ssl/debian/keys/thishost.key'
-       $bacula_ssl_server_cert   = '/etc/ssl/debian/certs/thishost-server.crt'
-       $bacula_ssl_server_key    = '/etc/ssl/debian/keys/thishost-server.key'
+  file { '/usr/local/sbin/bacula-idle-restart':
+    mode   => '0555',
+    source => 'puppet:///modules/bacula/bacula-idle-restart',
+  }
 }