Puppet Class: lsys::puppet

Defined in:
manifests/puppet.pp

Summary

Puppet installation

Overview

Puppet installation

Examples:

include lsys::puppet

Parameters:

  • platform_name (Puppet::Platform) (defaults to: 'puppet7')

    Puppet platform name. Either puppet5, puppet6 or puppet7

  • puppetserver (Boolean) (defaults to: false)

    Whether it is Puppet server or not

  • sameca (Boolean) (defaults to: false)

    Whether Puppet server provides CA service or not If not - it is compiler Puppet server see puppet.com/docs/puppet/7/server/scaling_puppet_server.html If server is compiler then

    - no Puppet CA and
    - no PuppetDB on it
    
  • use_puppetdb (Boolean) (defaults to: true)

    Whether to use PuppetDB for this Puppet server or not

  • puppetdb_local (Boolean) (defaults to: true)

    Whether to install PuppetDB on same server or not

  • postgres_local (Boolean) (defaults to: true)
  • manage_database (Boolean) (defaults to: $postgres_local)

    Whether to manage Postgres and database resources for PuppetDB on same server or not

  • server (Stdlib::Host) (defaults to: 'puppet')

    Puppet server name

  • ca_server (Optional[Stdlib::Host]) (defaults to: undef)
  • hosts_update (Boolean) (defaults to: false)

    Whether to setup puppet server hostnamr into /etc/hosts file

  • use_common_env (Boolean) (defaults to: false)
  • common_envname (Optional[String]) (defaults to: undef)
  • enc_envname (Optional[String]) (defaults to: undef)

    Default ENC environment repo is ‘enc’ This parameter is to define different name for it



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

class lsys::puppet (
  Puppet::Platform $platform_name = 'puppet7',
  Boolean $puppetserver = false,
  Boolean $sameca = false,
  Boolean $use_puppetdb = true,
  Boolean $puppetdb_local = true,
  Boolean $postgres_local = true,
  Boolean $manage_database = $postgres_local,
  Stdlib::Host $server = 'puppet',
  # https://puppet.com/docs/puppet/7/server/scaling_puppet_server.html#directing-individual-agents-to-a-central-ca
  Optional[Stdlib::Host] $ca_server = undef,
  Boolean $hosts_update = false,
  Boolean $use_common_env = false,
  Optional[String] $common_envname = undef,
  Optional[String] $enc_envname = undef,
) {
  if $puppetserver {
    if $sameca {
      if $puppetdb_local and $manage_database {
        if $platform_name == 'puppet5' {
          class { 'lsys::postgres':
            package_version => '9.6.23',
          }
        }
        else {
          class { 'lsys::postgres': }
        }
      }

      class { 'puppet::profile::server':
        platform_name   => $platform_name,
        ca_server       => $ca_server,
        server          => $server,
        sameca          => $sameca,
        hosts_update    => $hosts_update,
        use_puppetdb    => $use_puppetdb,
        puppetdb_local  => $puppetdb_local,
        manage_database => $manage_database,
        use_common_env  => $use_common_env,
        common_envname  => $common_envname,
        enc_envname     => $enc_envname,
      }
      contain puppet::profile::server
    }
    else {
      class { 'puppet::profile::compiler':
        platform_name  => $platform_name,
        ca_server      => $ca_server,
        server         => $server,
        use_common_env => $use_common_env,
        common_envname => $common_envname,
        use_puppetdb   => $use_puppetdb,
        enc_envname    => $enc_envname,
      }
      contain puppet::profile::compiler
    }
  }
  else {
    class { 'puppet::profile::agent':
      platform_name => $platform_name,
      server        => $server,
      ca_server     => $ca_server,
    }
  }
}