Puppet Class: bacula::dir::config

Inherits:
bacula::dir
Defined in:
manifests/dir/config.pp

Overview

concat bacula-dir 00 - base config 10 - catalogs 90 - includes



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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'manifests/dir/config.pp', line 7

class bacula::dir::config inherits bacula::dir {

  if($bacula::params::systemd)
  {
    # /usr/sbin/bacula-dir -c /etc/bacula/bacula-dir.conf -u bacula -g bacula
    # /var/run/bacula/bacula-dir.9101.pid
    systemd::service { 'bacula-director':
      execstart       => inline_template('/usr/sbin/bacula-dir -c /etc/bacula/bacula-dir.conf -u bacula -g bacula<% if defined?(@debug_level) %> -d <%= @debug_level %><% end %>'),
      pid_file        => "/var/run/bacula/bacula-dir.${bacula::dir::port}.pid",
      execstartpost   => '/etc/bacula/scripts/wait-for-bacula-pid.sh -d dir',
      type            => 'forking',
      timeoutstartsec => '1m',
    }
  }

  concat { '/etc/bacula/bacula-dir.conf':
    ensure => 'present',
    owner  => 'root',
    group  => 'root',
    mode   => '0640',
  }

  file { '/etc/bacula/bacula-dir':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    recurse => true,
    purge   => true,
  }

  file { '/etc/bacula/bacula-dir/jobtemplates':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    recurse => true,
    purge   => true,
    require => File['/etc/bacula/bacula-dir'],
  }

  file { '/etc/bacula/bacula-dir/jobs':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    recurse => true,
    purge   => true,
    require => File['/etc/bacula/bacula-dir'],
  }

  file { '/etc/bacula/bacula-dir/filesets':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    recurse => true,
    purge   => true,
    require => File['/etc/bacula/bacula-dir'],
  }

  file { '/etc/bacula/bacula-dir/schedules':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    recurse => true,
    purge   => true,
    require => File['/etc/bacula/bacula-dir'],
  }

  file { '/etc/bacula/bacula-dir/storages':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    recurse => true,
    purge   => true,
    require => File['/etc/bacula/bacula-dir'],
  }

  file { '/etc/bacula/bacula-dir/clients':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    recurse => true,
    purge   => true,
    require => File['/etc/bacula/bacula-dir'],
  }

  file { '/etc/bacula/bacula-dir/pools':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    recurse => true,
    purge   => true,
    require => File['/etc/bacula/bacula-dir'],
  }

  concat::fragment{ '/etc/bacula/bacula-dir.conf base conf':
    target  => '/etc/bacula/bacula-dir.conf',
    order   => '00',
    content => template("${module_name}/dir/baculadir.erb"),
  }

  if($bacula::dir::baculalog_rotate!=undef)
  {
    if(defined(Class['::logrotate']))
    {
      logrotate::logs { 'baculalog':
        ensure       => $bacula::dir::baculalog_logrotate_ensure,
        log          => $bacula::dir::bacula_log,
        compress     => true,
        copytruncate => true,
        frequency    => $bacula::dir::baculalog_frequency,
        rotate       => $bacula::dir::baculalog_rotate,
        missingok    => true,
        size         => $bacula::dir::baculalog_size,
      }
    }
  }

  bacula::dir::pool { 'Scratch':
    description => 'scratch pool',
    require     => File['/etc/bacula/bacula-dir/pools'],
  }
}