Puppet Class: bareos::director
- Inherits:
- ::bareos
- Defined in:
- manifests/director.pp
Overview
Class: bareos::director
This class manages the bareos director service, packages and configuration directory. Parameters should be configured in the upper class ‘::bareos`.
This class will be automatically included when a resource is defined. It is not intended to be used directly by external resources like node definitions or other modules.
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 |
# File 'manifests/director.pp', line 7
class bareos::director(
$manage_service = $::bareos::manage_service,
$manage_package = $::bareos::manage_package,
$package_name = $::bareos::director_package_name,
$package_ensure = $::bareos::package_ensure,
$service_name = $::bareos::director_service_name,
$service_ensure = $::bareos::service_ensure,
$service_enable = $::bareos::service_enable,
$config_dir = "${::bareos::config_dir}/bareos-dir.d"
) inherits ::bareos {
include ::bareos::director::director
if $manage_package {
package { $package_name:
ensure => $package_ensure,
tag => 'bareos',
}
}
if $manage_service {
service { $service_name:
ensure => $service_ensure,
enable => $service_enable,
}
}
# directories
$config_director_dirs = [
$config_dir,
"${config_dir}/catalog",
"${config_dir}/client",
"${config_dir}/console",
"${config_dir}/counter",
"${config_dir}/director",
"${config_dir}/fileset",
"${config_dir}/job",
"${config_dir}/jobdefs",
"${config_dir}/messages",
"${config_dir}/pool",
"${config_dir}/profile",
"${config_dir}/schedule",
"${config_dir}/storage",
]
file { $config_director_dirs:
ensure => directory,
purge => true,
recurse => true,
force => true,
mode => $::bareos::file_dir_mode,
owner => $::bareos::file_owner,
group => $::bareos::file_group,
require => Package[$package_name],
notify => Service[$service_name],
}
File <| |> -> exec { 'bareos director init catalog':
command => '/usr/lib/bareos/scripts/create_bareos_database && /usr/lib/bareos/scripts/make_bareos_tables && /usr/lib/bareos/scripts/grant_bareos_privileges',
notify => Service[$::bareos::director::service_name],
refreshonly => true,
}
}
|