Puppet Class: foreman::puppetmaster::params

Inherited by:
foreman::puppetmaster
Defined in:
manifests/puppetmaster/params.pp

Overview

Defaults for the puppetmaster



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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'manifests/puppetmaster/params.pp', line 2

class foreman::puppetmaster::params {
  $lower_fqdn = downcase($facts['networking']['fqdn'])

  # Basic configurations
  $foreman_url      = "https://${lower_fqdn}"
  # Should foreman act as an external node classifier (manage puppet class
  # assignments)
  $enc            = true
  # Should foreman receive reports from puppet
  $reports        = true
  # Should foreman receive facts from puppet
  $receive_facts  = true

  $puppet_user = 'puppet'
  $puppet_group = 'puppet'

  $puppetmaster_timeout = 60
  $puppetmaster_report_timeout = 60

  if fact('aio_agent_version') =~ String[1] {
    $puppet_basedir = '/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet'
    $puppet_etcdir = '/etc/puppetlabs/puppet'
    $puppet_home = '/opt/puppetlabs/server/data/puppetserver'
    $puppet_ssldir = '/etc/puppetlabs/puppet/ssl'
  } else {
    case $facts['os']['family'] {
      'RedHat': {
        $puppet_basedir  = '/usr/share/ruby/vendor_ruby/puppet'
        $puppet_etcdir = '/etc/puppet'
        $puppet_home = '/var/lib/puppet'
      }
      'Debian': {
        $puppet_basedir  = '/usr/lib/ruby/vendor_ruby/puppet'
        $puppet_etcdir = '/etc/puppet'
        $puppet_home = '/var/lib/puppet'
      }
      'Linux': {
        case $facts['os']['name'] {
          'Amazon': {
            $puppet_basedir = regsubst($facts['ruby']['version'], '^(\d+\.\d+).*$', '/usr/lib/ruby/site_ruby/\1/puppet')
            $puppet_etcdir = '/etc/puppet'
            $puppet_home = '/var/lib/puppet'
          }
          default: {
            fail("${facts['networking']['hostname']}: This module does not support operatingsystem ${facts['os']['name']}")
          }
        }
      }
      'Archlinux': {
        # lint:ignore:legacy_facts
        $puppet_basedir = regsubst($facts['rubyversion'], '^(\d+\.\d+).*$', '/usr/lib/ruby/vendor_ruby/\1/puppet')
        # lint:endignore
        $puppet_etcdir = '/etc/puppetlabs/puppet'
        $puppet_home = '/var/lib/puppet'
      }
      /^(FreeBSD|DragonFly)$/: {
        # lint:ignore:legacy_facts
        $puppet_basedir = regsubst($facts['rubyversion'], '^(\d+\.\d+).*$', '/usr/local/lib/ruby/site_ruby/\1/puppet')
        # lint:endignore
        $puppet_etcdir = '/usr/local/etc/puppet'
        $puppet_home = '/var/puppet'
      }
      default: {
        $puppet_basedir = undef
        $puppet_etcdir = undef
        $puppet_home = undef
      }
    }

    $puppet_ssldir = "${puppet_home}/ssl"
  }

  # If CA is specified, remote Foreman host will be verified in reports/ENC scripts
  $client_ssl_ca   = "${puppet_ssldir}/certs/ca.pem"
  # Used to authenticate to Foreman, required if require_ssl_puppetmasters is enabled
  $client_ssl_cert = "${puppet_ssldir}/certs/${lower_fqdn}.pem"
  $client_ssl_key  = "${puppet_ssldir}/private_keys/${lower_fqdn}.pem"
}