Skip to content

Commit d66a213

Browse files
committed
WIP
1 parent b0e9cd4 commit d66a213

File tree

12 files changed

+473
-354
lines changed

12 files changed

+473
-354
lines changed

manifests/client.pp

Lines changed: 5 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,11 @@
55
# This class will be automatically included when a resource is defined.
66
# It is not intended to be used directly by external resources like node definitions or other modules.
77
class bareos::client (
8-
$manage_service = $bareos::manage_service,
9-
$manage_package = $bareos::manage_package,
10-
$package_name = $bareos::client_package_name,
11-
$package_ensure = $bareos::package_ensure,
12-
$service_name = $bareos::client_service_name,
13-
$service_ensure = $bareos::service_ensure,
14-
$service_enable = $bareos::service_enable,
15-
$config_dir = "${bareos::config_dir}/bareos-fd.d"
16-
) inherits bareos {
17-
include bareos::client::client
18-
19-
if $manage_package {
20-
package { $package_name:
21-
ensure => $package_ensure,
22-
tag => ['bareos', 'bareos_client'],
23-
}
24-
}
258

26-
if $manage_service {
27-
service { $service_name:
28-
ensure => $service_ensure,
29-
enable => $service_enable,
30-
tag => ['bareos', 'bareos_client'],
31-
}
32-
}
33-
34-
# directories
35-
$config_client_dirs = [
36-
$config_dir,
37-
"${config_dir}/client",
38-
"${config_dir}/director",
39-
"${config_dir}/messages",
40-
]
9+
) {
10+
include bareos::client::client
4111

42-
file { $config_client_dirs:
43-
ensure => directory,
44-
purge => true,
45-
recurse => true,
46-
force => true,
47-
mode => $bareos::file_dir_mode,
48-
owner => $bareos::file_owner,
49-
group => $bareos::file_group,
50-
require => Package[$package_name],
51-
notify => Service[$service_name],
52-
tag => ['bareos', 'bareos_client'],
53-
}
12+
contain bareos::client::config
13+
contain bareos::client::package
14+
contain bareos::client::service
5415
}

manifests/client/client.pp

Lines changed: 1 addition & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -335,129 +335,9 @@
335335
# Required: false
336336
#
337337
class bareos::client::client (
338-
$ensure = present,
339-
$absolute_job_timeout = undef,
340-
$allow_bandwidth_bursting = undef,
341-
$allowed_job_command = undef,
342-
$allowed_script_dir = undef,
343-
$always_use_lmdb = undef,
344-
$compatible = undef,
345-
$description = undef,
346-
$fd_address = undef,
347-
$fd_addresses = undef,
348-
$fd_port = undef,
349-
$fd_source_address = undef,
350-
$heartbeat_interval = undef,
351-
$lmdb_threshold = undef,
352-
$log_timestamp_format = undef,
353-
$maximum_bandwidth_per_job = undef,
354-
$maximum_concurrent_jobs = undef,
355-
$maximum_connections = undef,
356-
$maximum_network_buffer_size = undef,
357-
$messages = undef,
358-
$name_client = 'bareos-fd',
359-
$pid_directory = undef,
360-
$pki_cipher = undef,
361-
$pki_encryption = undef,
362-
$pki_key_pair = undef,
363-
$pki_master_key = undef,
364-
$pki_signatures = undef,
365-
$pki_signer = undef,
366-
$plugin_directory = undef,
367-
$plugin_names = undef,
368-
$scripts_directory = undef,
369-
$sd_connect_timeout = undef,
370-
$secure_erase_command = undef,
371-
$tls_allowed_cn = undef,
372-
$tls_authenticate = undef,
373-
$tls_ca_certificate_dir = undef,
374-
$tls_ca_certificate_file = undef,
375-
$tls_certificate = undef,
376-
$tls_certificate_revocation_list = undef,
377-
$tls_cipher_list = undef,
378-
$tls_dh_file = undef,
379-
$tls_enable = undef,
380-
$tls_key = undef,
381-
$tls_require = undef,
382-
$tls_verify_peer = undef,
383-
$ver_id = undef,
384-
$working_directory = undef,
338+
385339
) {
386340
include bareos::client
387341

388-
$_resource = 'Client'
389-
$_resource_dir = 'client'
390-
391-
unless $ensure in ['present', 'absent'] {
392-
fail('Invalid value for ensure')
393-
}
394-
395-
if $ensure == 'present' {
396-
$_require_res_messages = $messages ? { undef => undef, default => Bareos::Client::Messages[$messages] }
397-
398-
$_require_resource = delete_undef_values([
399-
$_require_res_messages,
400-
])
401-
402-
$_settings = bareos_settings( [$name_client, 'Name', 'name', true],
403-
[$description, 'Description', 'string', false],
404-
[$absolute_job_timeout, 'Absolute Job Timeout', 'pint32', false],
405-
[$allow_bandwidth_bursting, 'Allow Bandwidth Bursting', 'boolean', false],
406-
[$allowed_job_command, 'Allowed Job Command', 'string_list', false],
407-
[$allowed_script_dir, 'Allowed Script Dir', 'directory_list', false],
408-
[$always_use_lmdb, 'Always Use Lmdb', 'boolean', false],
409-
[$compatible, 'Compatible', 'boolean', false],
410-
[$fd_address, 'Fd Address', 'address', false],
411-
[$fd_addresses, 'Fd Addresses', 'addresses', false],
412-
[$fd_port, 'Fd Port', 'port', false],
413-
[$fd_source_address, 'Fd Source Address', 'address', false],
414-
[$heartbeat_interval, 'Heartbeat Interval', 'time', false],
415-
[$lmdb_threshold, 'Lmdb Threshold', 'pint32', false],
416-
[$log_timestamp_format, 'Log Timestamp Format', 'string', false],
417-
[$maximum_bandwidth_per_job, 'Maximum Bandwidth Per Job', 'speed', false],
418-
[$maximum_concurrent_jobs, 'Maximum Concurrent Jobs', 'pint32', false],
419-
[$maximum_connections, 'Maximum Connections', 'pint32', false],
420-
[$maximum_network_buffer_size, 'Maximum Network Buffer Size', 'pint32', false],
421-
[$messages, 'Messages', 'res', false],
422-
[$pid_directory, 'Pid Directory', 'directory', false],
423-
[$pki_cipher, 'Pki Cipher', 'encryption_cipher', false],
424-
[$pki_encryption, 'Pki Encryption', 'boolean', false],
425-
[$pki_key_pair, 'Pki Key Pair', 'directory', false],
426-
[$pki_master_key, 'Pki Master Key', 'directory_list', false],
427-
[$pki_signatures, 'Pki Signatures', 'boolean', false],
428-
[$pki_signer, 'Pki Signer', 'directory_list', false],
429-
[$plugin_directory, 'Plugin Directory', 'directory', false],
430-
[$plugin_names, 'Plugin Names', 'plugin_names', false],
431-
[$scripts_directory, 'Scripts Directory', 'directory', false],
432-
[$sd_connect_timeout, 'Sd Connect Timeout', 'time', false],
433-
[$secure_erase_command, 'Secure Erase Command', 'string', false],
434-
[$tls_allowed_cn, 'Tls Allowed Cn', 'string_list', false],
435-
[$tls_authenticate, 'Tls Authenticate', 'boolean', false],
436-
[$tls_ca_certificate_dir, 'Tls Ca Certificate Dir', 'directory', false],
437-
[$tls_ca_certificate_file, 'Tls Ca Certificate File', 'directory', false],
438-
[$tls_certificate, 'Tls Certificate', 'directory', false],
439-
[$tls_certificate_revocation_list, 'Tls Certificate Revocation List', 'directory', false],
440-
[$tls_cipher_list, 'Tls Cipher List', 'string', false],
441-
[$tls_dh_file, 'Tls Dh File', 'directory', false],
442-
[$tls_enable, 'Tls Enable', 'boolean', false],
443-
[$tls_key, 'Tls Key', 'directory', false],
444-
[$tls_require, 'Tls Require', 'boolean', false],
445-
[$tls_verify_peer, 'Tls Verify Peer', 'boolean', false],
446-
[$ver_id, 'Ver Id', 'string', false],
447-
[$working_directory, 'Working Directory', 'directory', false]
448-
)
449-
} else {
450-
$_require_res_messages = undef
451-
}
452342

453-
file { "${bareos::client::config_dir}/${_resource_dir}/bareos-fd.conf":
454-
ensure => $ensure,
455-
mode => $bareos::file_mode,
456-
owner => $bareos::file_owner,
457-
group => $bareos::file_group,
458-
content => template('bareos/resource.erb'),
459-
notify => Service[$bareos::client::service_name],
460-
require => $_require_res_messages,
461-
tag => ['bareos', 'bareos_client'],
462-
}
463343
}

manifests/client/config.pp

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# @summary
2+
# manage client configs for bareos
3+
#
4+
# @api private
5+
#
6+
class bareos::client::config (
7+
$ensure = present,
8+
$absolute_job_timeout = undef,
9+
$allow_bandwidth_bursting = undef,
10+
$allowed_job_command = undef,
11+
$allowed_script_dir = undef,
12+
$always_use_lmdb = undef,
13+
$compatible = undef,
14+
$description = undef,
15+
$fd_address = undef,
16+
$fd_addresses = undef,
17+
$fd_port = undef,
18+
$fd_source_address = undef,
19+
$heartbeat_interval = undef,
20+
$lmdb_threshold = undef,
21+
$log_timestamp_format = undef,
22+
$maximum_bandwidth_per_job = undef,
23+
$maximum_concurrent_jobs = undef,
24+
$maximum_connections = undef,
25+
$maximum_network_buffer_size = undef,
26+
$messages = undef,
27+
$name_client = 'bareos-fd',
28+
$pid_directory = undef,
29+
$pki_cipher = undef,
30+
$pki_encryption = undef,
31+
$pki_key_pair = undef,
32+
$pki_master_key = undef,
33+
$pki_signatures = undef,
34+
$pki_signer = undef,
35+
$plugin_directory = undef,
36+
$plugin_names = undef,
37+
$scripts_directory = undef,
38+
$sd_connect_timeout = undef,
39+
$secure_erase_command = undef,
40+
$tls_allowed_cn = undef,
41+
$tls_authenticate = undef,
42+
$tls_ca_certificate_dir = undef,
43+
$tls_ca_certificate_file = undef,
44+
$tls_certificate = undef,
45+
$tls_certificate_revocation_list = undef,
46+
$tls_cipher_list = undef,
47+
$tls_dh_file = undef,
48+
$tls_enable = undef,
49+
$tls_key = undef,
50+
$tls_require = undef,
51+
$tls_verify_peer = undef,
52+
$ver_id = undef,
53+
$working_directory = undef,
54+
) {
55+
assert_private()
56+
57+
[
58+
"${bareos::client_config_directory}/client",
59+
"${bareos::client_config_directory}/director",
60+
"${bareos::client_config_directory}/messages",
61+
].each |$config_directory| {
62+
file { $config_directory:
63+
ensure => directory,
64+
force => true,
65+
purge => true,
66+
recurse => true,
67+
group => $bareos::config_group,
68+
mode => $bareos::config_directory_mode,
69+
owner => $bareos::config_owner,
70+
tag => ['bareos', 'bareos_client'],
71+
}
72+
}
73+
74+
$_resource = 'Client'
75+
$_resource_dir = 'client'
76+
77+
if $ensure == 'present' {
78+
$_require_res_messages = $messages ? { undef => undef, default => Bareos::Client::Messages[$messages] }
79+
80+
$_require_resource = delete_undef_values([
81+
$_require_res_messages,
82+
])
83+
84+
$_settings = bareos_settings(
85+
[$name_client, 'Name', 'name', true],
86+
[$description, 'Description', 'string', false],
87+
[$absolute_job_timeout, 'Absolute Job Timeout', 'pint32', false],
88+
[$allow_bandwidth_bursting, 'Allow Bandwidth Bursting', 'boolean', false],
89+
[$allowed_job_command, 'Allowed Job Command', 'string_list', false],
90+
[$allowed_script_dir, 'Allowed Script Dir', 'directory_list', false],
91+
[$always_use_lmdb, 'Always Use Lmdb', 'boolean', false],
92+
[$compatible, 'Compatible', 'boolean', false],
93+
[$fd_address, 'Fd Address', 'address', false],
94+
[$fd_addresses, 'Fd Addresses', 'addresses', false],
95+
[$fd_port, 'Fd Port', 'port', false],
96+
[$fd_source_address, 'Fd Source Address', 'address', false],
97+
[$heartbeat_interval, 'Heartbeat Interval', 'time', false],
98+
[$lmdb_threshold, 'Lmdb Threshold', 'pint32', false],
99+
[$log_timestamp_format, 'Log Timestamp Format', 'string', false],
100+
[$maximum_bandwidth_per_job, 'Maximum Bandwidth Per Job', 'speed', false],
101+
[$maximum_concurrent_jobs, 'Maximum Concurrent Jobs', 'pint32', false],
102+
[$maximum_connections, 'Maximum Connections', 'pint32', false],
103+
[$maximum_network_buffer_size, 'Maximum Network Buffer Size', 'pint32', false],
104+
[$messages, 'Messages', 'res', false],
105+
[$pid_directory, 'Pid Directory', 'directory', false],
106+
[$pki_cipher, 'Pki Cipher', 'encryption_cipher', false],
107+
[$pki_encryption, 'Pki Encryption', 'boolean', false],
108+
[$pki_key_pair, 'Pki Key Pair', 'directory', false],
109+
[$pki_master_key, 'Pki Master Key', 'directory_list', false],
110+
[$pki_signatures, 'Pki Signatures', 'boolean', false],
111+
[$pki_signer, 'Pki Signer', 'directory_list', false],
112+
[$plugin_directory, 'Plugin Directory', 'directory', false],
113+
[$plugin_names, 'Plugin Names', 'plugin_names', false],
114+
[$scripts_directory, 'Scripts Directory', 'directory', false],
115+
[$sd_connect_timeout, 'Sd Connect Timeout', 'time', false],
116+
[$secure_erase_command, 'Secure Erase Command', 'string', false],
117+
[$tls_allowed_cn, 'Tls Allowed Cn', 'string_list', false],
118+
[$tls_authenticate, 'Tls Authenticate', 'boolean', false],
119+
[$tls_ca_certificate_dir, 'Tls Ca Certificate Dir', 'directory', false],
120+
[$tls_ca_certificate_file, 'Tls Ca Certificate File', 'directory', false],
121+
[$tls_certificate, 'Tls Certificate', 'directory', false],
122+
[$tls_certificate_revocation_list, 'Tls Certificate Revocation List', 'directory', false],
123+
[$tls_cipher_list, 'Tls Cipher List', 'string', false],
124+
[$tls_dh_file, 'Tls Dh File', 'directory', false],
125+
[$tls_enable, 'Tls Enable', 'boolean', false],
126+
[$tls_key, 'Tls Key', 'directory', false],
127+
[$tls_require, 'Tls Require', 'boolean', false],
128+
[$tls_verify_peer, 'Tls Verify Peer', 'boolean', false],
129+
[$ver_id, 'Ver Id', 'string', false],
130+
[$working_directory, 'Working Directory', 'directory', false]
131+
)
132+
} else {
133+
$_require_res_messages = undef
134+
}
135+
136+
file { "${bareos::client::config_dir}/${_resource_dir}/bareos-fd.conf":
137+
ensure => $ensure,
138+
mode => $bareos::file_mode,
139+
owner => $bareos::file_owner,
140+
group => $bareos::file_group,
141+
content => template('bareos/resource.erb'),
142+
notify => Service[$bareos::client::service_name],
143+
require => $_require_res_messages,
144+
tag => ['bareos', 'bareos_client'],
145+
}
146+
}

manifests/client/package.pp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# @summary
2+
# manage client packages for bareos
3+
#
4+
# @api private
5+
#
6+
class bareos::client::package (
7+
) {
8+
assert_private()
9+
10+
if $bareos::manage_client_package {
11+
$bareos::client_packages.each |$client_package| {
12+
package { $client_package:
13+
ensure => $bareos::client_package_ensure,
14+
tag => ['bareos', 'bareos_client'],
15+
}
16+
}
17+
}
18+
}

manifests/client/service.pp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# @summary
2+
# manage client service for bareos
3+
#
4+
# @api private
5+
#
6+
class bareos::client::service (
7+
) {
8+
assert_private()
9+
10+
if $bareos::manage_client_service {
11+
service { $bareos::client_service_name:
12+
ensure => $bareos::client_service_ensure,
13+
enable => $bareos::client_service_enable,
14+
tag => [
15+
'bareos',
16+
'bareos_client',
17+
],
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)