Puppet Class: patterndb

Inherits:
patterndb::defaults
Defined in:
manifests/init.pp

Overview

Parameters:

  • base_dir (Any) (defaults to: $::patterndb::defaults::base_dir)
  • temp_dir (Any) (defaults to: $::patterndb::defaults::temp_dir)
  • package_name (Any) (defaults to: false)
  • manage_package (Any) (defaults to: true)
  • syslogng_modules (Any) (defaults to: [])
  • test_before_deploy (Any) (defaults to: true)


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

class patterndb (
  $base_dir = $::patterndb::defaults::base_dir,
  $temp_dir = $::patterndb::defaults::temp_dir,
  $package_name = false,
  $manage_package = true,
  $syslogng_modules = [],
  $test_before_deploy = true
) inherits patterndb::defaults {

  require stdlib
  validate_bool($manage_package)
  validate_bool($test_before_deploy)
  validate_array($syslogng_modules)
# package
  if $manage_package {
    if is_string($package_name) {
      $real_package_name = $package_name
    } else {
      case $::osfamily {
        'RedHat': { $real_package_name = 'syslog-ng' }
        'Debian': { $real_package_name = 'syslog-ng' }
        default: { fail("unsupported osfamily: ${::osfamily}") }
      }
    }
    ensure_resource ( 'package', $real_package_name, { 'ensure' => 'installed' })
  }
  ensure_resource ( 'file', $temp_dir, { ensure => directory } )
  ensure_resource ( 'file', "${base_dir}/etc", { ensure => 'directory' } )
  ensure_resource (
    'file', "${base_dir}/etc/syslog-ng",
    { ensure => 'directory' }
  )
  ensure_resource ( 'file', "${base_dir}/var", { ensure => 'directory' } )
  ensure_resource ( 'file', "${base_dir}/var/lib", { ensure => 'directory' } )
  ensure_resource (
    'file', "${base_dir}/var/lib/syslog-ng",
    { ensure => 'directory' }
  )
  ensure_resource (
    'file', "${base_dir}/var/lib/syslog-ng/patterndb",
    {
      ensure => 'directory',
      purge => true,
      recurse => true
    }
  )
  $pdb_dir = "${base_dir}/etc/syslog-ng/patterndb.d"
  file { $pdb_dir:
    ensure  => directory,
    purge   => true,
    recurse => true,
    source  => 'puppet:///modules/patterndb/patterndb.d',
  }

}