Puppet Class: bareos

Inherits:
::bareos::params
Defined in:
manifests/init.pp

Overview

Class: bareos

Authors


Richard Hillmann <richie@project0.de>

Parameters:

  • config_dir (Any) (defaults to: $::bareos::params::config_dir)
  • config_dir_webui (Any) (defaults to: $::bareos::params::config_dir_webui)
  • file_owner (Any) (defaults to: $::bareos::params::file_owner)
  • file_group (Any) (defaults to: $::bareos::params::file_group)
  • file_mode (Any) (defaults to: $::bareos::params::file_mode)
  • file_dir_mode (Any) (defaults to: $::bareos::params::file_dir_mode)
  • repo_release (Any) (defaults to: $::bareos::params::repo_release)
  • manage_repo (Any) (defaults to: $::bareos::params::manage_repo)
  • manage_user (Any) (defaults to: $::bareos::params::manage_user)
  • manage_package (Any) (defaults to: $::bareos::params::manage_package)
  • manage_service (Any) (defaults to: $::bareos::params::manage_service)
  • package_name (Any) (defaults to: $::bareos::params::package_name)
  • package_ensure (Any) (defaults to: $::bareos::params::package_ensure)
  • service_ensure (Any) (defaults to: $::bareos::params::service_ensure)
  • service_enable (Any) (defaults to: $::bareos::params::service_enable)
  • console_package_name (Any) (defaults to: $::bareos::params::console_package_name)
  • monitor_package_name (Any) (defaults to: $::bareos::params::monitor_package_name)
  • director_package_name (Any) (defaults to: $::bareos::params::director_package_name)
  • director_service_name (Any) (defaults to: $::bareos::params::director_service_name)
  • client_package_name (Any) (defaults to: $::bareos::params::client_package_name)
  • client_service_name (Any) (defaults to: $::bareos::params::client_service_name)
  • storage_package_name (Any) (defaults to: $::bareos::params::storage_package_name)
  • storage_service_name (Any) (defaults to: $::bareos::params::storage_service_name)


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
# File 'manifests/init.pp', line 8

class bareos (
  $config_dir       = $::bareos::params::config_dir,
  $config_dir_webui = $::bareos::params::config_dir_webui,
  $file_owner       = $::bareos::params::file_owner,
  $file_group       = $::bareos::params::file_group,
  $file_mode        = $::bareos::params::file_mode,
  $file_dir_mode    = $::bareos::params::file_dir_mode,
  $repo_release     = $::bareos::params::repo_release,
  $manage_repo      = $::bareos::params::manage_repo,
  $manage_user      = $::bareos::params::manage_user,
  $manage_package   = $::bareos::params::manage_package,
  $manage_service   = $::bareos::params::manage_service,
  $package_name     = $::bareos::params::package_name, # base/common package only
  $package_ensure   = $::bareos::params::package_ensure,
  $service_ensure   = $::bareos::params::service_ensure,
  $service_enable   = $::bareos::params::service_enable,

  $console_package_name  = $::bareos::params::console_package_name,
  $monitor_package_name  = $::bareos::params::monitor_package_name,
  $director_package_name = $::bareos::params::director_package_name,
  $director_service_name = $::bareos::params::director_service_name,
  $client_package_name   = $::bareos::params::client_package_name,
  $client_service_name   = $::bareos::params::client_service_name,
  $storage_package_name  = $::bareos::params::storage_package_name,
  $storage_service_name  = $::bareos::params::storage_service_name,
) inherits ::bareos::params {

  if $manage_repo {
    class {'::bareos::repository':
      release => $repo_release,
    }
  }

  if $manage_package {
    package { $package_name:
      ensure => $package_ensure,
      tag    => 'bareos',
    }
  }

  if $manage_user {
    group { $file_group:
      ensure     => present,
      forcelocal => true,
      system     => true,
    }
    -> user { $file_owner:
      ensure     => present,
      forcelocal => true,
      comment    => 'Bareos system user',
      home       => '/var/lib/bareos',
      shell      => '/bin/false',
      groups     => ['disk', 'tape', $file_group],
      system     => true,
    }
  }

  file { $config_dir:
    ensure  => directory,
    purge   => true,
    recurse => true,
    force   => true,
    mode    => $::bareos::file_dir_mode,
    owner   => $::bareos::file_owner,
    group   => $::bareos::file_group,
  }
}