Puppet Class: security_baseline::fact_indirector

Defined in:
manifests/fact_indirector.pp

Summary

Configure sending facts to logstash

Overview

Setup sending summary facts from secutity_baseline to logstash

Examples:

include security_baseline::fact_indirector

Parameters:

  • configure_logstash (Boolean) (defaults to: false)

    If set to true the facts indirevtor to logstash will be configured. This requires Puppet Enterprise

  • logstash_host (String)

    The logstash host to send facts to

  • logstash_port (Integer) (defaults to: 5999)

    The port logstash is listening

  • logstash_timeout (Integer) (defaults to: 1000)

    The timeout for sendding facts to logstash.



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

class security_baseline::fact_indirector (
  String $logstash_host,
  Boolean $configure_logstash = false,
  Integer $logstash_port      = 5999,
  Integer $logstash_timeout   = 1000,
) {
  if empty($logstash_host) {
    fail('Logstash host missing.')
  }

  if $configure_logstash {
    file { '/etc/puppetlabs/puppet/security_baseline.yaml':
      ensure  => file,
      owner   => 'pe-puppet',
      group   => 'pe-puppet',
      mode    => '0644',
      content => epp('security_baseline/security_baseline.yaml.epp', {
        host    => $logstash_host,
        port    => $logstash_port,
        timeout => $logstash_timeout,
      }),
    }

    file { '/etc/puppetlabs/puppet/security_baseline_routes.yaml':
      ensure  => file,
      owner   => 'pe-puppet',
      group   => 'pe-puppet',
      mode    => '0640',
      content => epp('security_baseline/security_baseline_routes.yaml.epp', {
        facts_terminus       => 'puppetdb',
        facts_cache_terminus => 'security_baseline'
      }),
      notify  => Service['pe-puppetserver'],
    }

    ini_setting { 'enable security_baseline_routes.yaml':
      ensure  => present,
      path    => '/etc/puppetlabs/puppet/puppet.conf',
      section => 'master',
      setting => 'route_file',
      value   => '/etc/puppetlabs/puppet/security_baseline_routes.yaml',
      require => File['/etc/puppetlabs/puppet/security_baseline_routes.yaml'],
      notify  => Service['pe-puppetserver'],
    }
  }
}