-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathstoragedaemon.pp
98 lines (91 loc) · 2.89 KB
/
storagedaemon.pp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#
# == Class: bacula::storagedaemon
#
# Setup Bacula Storagedaemon.
#
# FIXME: add support for creating $backup_directory with correct permissions.
#
# == Parameters
#
# [*manage*]
# Whether to manage Bacula Storagedaemon with Puppet or not. Valid values are
# true (default) and false.
# [*manage_packetfilter*]
# Manage packet filtering rules. Valid values are true (default) and false.
# [*manage_monit*]
# Manage monit rules. Valid values are true (default) and false.
# [*director_address_ipv4*]
# IP-address for incoming Bacula Director packets.
# [*pwd_for_director*]
# Password for the Director that contacts this filedaemon
# [*pwd_for_monitor*]
# Password for the Monitor that contacts this filedaemon
# [*bind_address*]
# Bind to this IPv4 address. Defaults to '127.0.0.1'. Set to '0.0.0.0' to
# listen on all interfaces..
# [*backup_directory*]
# The directory where backups are stored. Defaults to '/var/backups/bacula'.
# [*tls_enable*]
# Enable TLS. Valid values are true and false (default)
# [*use_puppet_certs*]
# Use puppet certs for TLS. Valid values are true (default) and false.
# [*monitor_email*]
# Email address where local service monitoring software sends it's reports to.
# Defaults to global variable $::servermonitor.
# [*filedaemon_addresses_ipv4*]
# An array of IPv4 address/networks from where to allow
# Filedaemon connections to the Storagedaemon
#
# == Authors
#
# Samuli Seppänen <[email protected]>
#
# Samuli Seppänen <[email protected]>
#
# == License
#
# BSD-license. See file LICENSE for details.
#
class bacula::storagedaemon
(
$director_address_ipv4,
$pwd_for_director,
$pwd_for_monitor,
$filedaemon_addresses_ipv4,
Boolean $manage = true,
Boolean $manage_packetfilter = true,
Boolean $manage_monit = true,
$bind_address = '127.0.0.1',
$backup_directory = '/var/backups/bacula',
$tls_enable = false,
$use_puppet_certs = true,
$monitor_email = $::servermonitor
)
{
if $manage {
if ( $use_puppet_certs ) and ( $tls_enable ) {
include ::bacula::puppetcerts
}
include ::bacula::common
include ::bacula::storagedaemon::install
class { '::bacula::storagedaemon::config':
pwd_for_director => $pwd_for_director,
pwd_for_monitor => $pwd_for_monitor,
bind_address => $bind_address,
backup_directory => $backup_directory,
tls_enable => $tls_enable,
}
include ::bacula::storagedaemon::service
if $manage_packetfilter {
class { '::bacula::storagedaemon::packetfilter':
filedaemon_addresses_ipv4 => $filedaemon_addresses_ipv4,
director_address_ipv4 => $director_address_ipv4,
}
}
if $manage_monit {
class { '::bacula::storagedaemon::monit':
monitor_email => $monitor_email,
}
}
}
}