Puppet Class: patterndb

Defined in:
manifests/init.pp

Overview

Parameters:

  • base_dir (String[1]) (defaults to: '/')
  • temp_dir (String[1]) (defaults to: "${base_dir}/tmp/syslog-ng")
  • package_name (Variant[String[1],Boolean]) (defaults to: false)
  • manage_package (Boolean) (defaults to: true)
  • syslogng_modules (Array[String[1]]) (defaults to: [])
  • use_hiera (Boolean) (defaults to: false)
  • _manage_top_dirs (Boolean) (defaults to: true)
  • test_before_deploy (Boolean) (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
57
58
# File 'manifests/init.pp', line 2

class patterndb (
  String[1] $base_dir = '/',
  String[1] $temp_dir = "${base_dir}/tmp/syslog-ng",
  Variant[String[1],Boolean] $package_name = false,
  Boolean $manage_package = true,
  Array[String[1]] $syslogng_modules = [],
  Boolean $use_hiera = false,
  Boolean $_manage_top_dirs = true,
  Boolean $test_before_deploy = true
) {
# package
  if $manage_package {
    if is_string($package_name) {
      $real_package_name = $package_name
    } else {
      case $facts['os']['family'] {
        'RedHat': { $real_package_name = 'syslog-ng' }
        'Debian': { $real_package_name = 'syslog-ng-core' }
        default: { fail("unsupported osfamily: ${facts['os']['family']}") }
      }
    }
    ensure_resource ( 'package', $real_package_name, { 'ensure' => 'installed' })
  }
  ensure_resource ( 'file', $temp_dir, { ensure => directory })
  if $_manage_top_dirs {
    ensure_resource ( 'file', "${base_dir}/etc", { ensure => 'directory' })
    ensure_resource ( 'file', "${base_dir}/var", { ensure => 'directory' })
    ensure_resource ( 'file', "${base_dir}/var/lib", { ensure => 'directory' })
  }
  ensure_resource (
    'file', "${base_dir}/etc/syslog-ng",
    { 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',
  }

  if $use_hiera {
    include patterndb::hiera
  }
}