Puppet Class: puppet_cd::params

Summary

Class manages parameters for the puppet_cd module.

Overview

puppet_cd::params.pp Module name: puppet_cd Author: Arne Teuke (arne_teuke@confdroid)

Parameters:

  • pt_manage_fw (Boolean) (defaults to: true)

    whether to manage firewall settings

  • pt_use_puppetdb (Boolean) (defaults to: false)

    whether to use puppetdb

  • pt_pm_fqdn (String) (defaults to: 'puppetmaster.example.net')

    the fqdn for the puppetmaster and master settings are applied. any other fqdn # will be considered a puppet agent.

  • pt_puppetdb_fqdn (String) (defaults to: 'puppetdb.example.net')

    the fqdn for the puppetdb node.

  • pt_pkg_ensure (String) (defaults to: 'present')

    valid: “present”, “latest”, “v1.2.3”

  • pt_agent_pkg (String) (defaults to: 'puppet-agent')

    the packages for agents to install

  • pt_server_pkg (String) (defaults to: 'puppetserver')

    the server packages to install

  • pt_r10k_pkg (Array) (defaults to: ['ruby','ruby-devel','rubygems','gcc','make'])

    the packages for r10k to install

  • pt_user (String) (defaults to: 'puppet')

    the puppet user

  • pt_user_comment (String) (defaults to: 'puppetserver daemon')

    the user comment

  • pt_user_home (String) (defaults to: '/opt/puppetlabs/server/data/puppetserver')

    the user home

  • pt_user_shell (String) (defaults to: '/sbin/nologin')

    the user shell

  • pt_environment (String) (defaults to: 'production')

    the environment

  • pt_basemodulepath (String) (defaults to: '/etc/puppetlabs/code/environments/common:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules:/usr/share/puppet/modules')

    the base module path

  • pt_logdir (String) (defaults to: '/var/log/puppetlabs/puppet')

    the log directory

  • pt_allow_duplicate_certs (Boolean) (defaults to: false)

    whether to allow duplicated certs

  • pt_pluginfactsource (String) (defaults to: 'pluginfacts')

    the plugin fact source

  • pt_pluginsource (String) (defaults to: 'plugins')

    the plugin source

  • pt_runinterval (String) (defaults to: '1800')

    the runinterval

  • pt_reports (String) (defaults to: 'foreman')

    where to send the run reports

  • pt_show_diff (Boolean) (defaults to: false)

    whether to show the diff

  • pt_default_schedules (Boolean) (defaults to: false)

    the default run schedules

  • pt_masterport (String) (defaults to: '8140')

    the master port to listen on

  • pt_noop (Boolean) (defaults to: false)

    whether noop should be executed

  • pt_pluginsync (Boolean) (defaults to: true)

    whether pluginsync should be allowed

  • pt_report (Boolean) (defaults to: true)

    whether reports should be created

  • pt_splay (Boolean) (defaults to: false)

    whether to enable a sleeping period before runs

  • pt_splaylimit (String) (defaults to: '1800')

    the splay limit

  • pt_usecacheonfailure (Boolean) (defaults to: true)

    whether to use the cache on failure

  • pt_autosign (String) (defaults to: '/etc/puppetlabs/puppet/autosign.conf')

    where to check the autosign settings

  • pt_ca (Boolean) (defaults to: true)

    whether to be a ca

  • pt_external_nodes (String) (defaults to: '/etc/puppetlabs/puppet/node.rb')

    the external node settings (ENC)

  • pt_logdir_master (String) (defaults to: '/var/log/puppetlabs/puppetserver')

    the log directory on the master

  • pt_node_terminus (String) (defaults to: 'exec')

    Which node data plugin to use when compiling node catalogs.

  • pt_strict_variables (Boolean) (defaults to: false)

    Causes an evaluation error when referencing unknown variables

  • pt_storeconfigs (Boolean) (defaults to: true)

    whether store client configs.

  • pt_storeconfigs_backend (String) (defaults to: 'puppetdb')

    where to store client configs

  • pt_parser (String) (defaults to: 'current')

    which parser version to use

  • pt_cert_revocation (Boolean) (defaults to: true)

    whether to check for cert revocations

  • pt_use_r10k (Boolean) (defaults to: false)

    whether to use r10k service

  • pt_use_r10k_webhook (Boolean) (defaults to: false)

    whether to use r10k webhook service

  • pt_r10k_remote (String) (defaults to: 'git@gitlab.example.net/repo.git')

    the remote url for the r10k control repo

  • pt_r10k_prefix (Boolean) (defaults to: false)

    the r10k prefix. defaults to false

  • pt_r10k_basedir (String) (defaults to: '/etc/puppetlabs/code/environments')

    the base directory for r10k.yaml

  • pt_r10k_webhook_pkg (Array) (defaults to: ['webrick', 'r10k_gitlab_webhook'])

    the packages for the r10k webhook

  • pt_manage_user (Boolean) (defaults to: false)

    whether to manage the puppet user

  • pt_r10k_webhook_port (String) (defaults to: '8085')

    the port for the webhook listener

  • pt_ssl_port (String) (defaults to: '8081')

    the port for the puppetdb ssl port



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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'manifests/params.pp', line 57

class puppet_cd::params (

  Boolean $pt_manage_fw             = true,
  String $pt_pm_fqdn                = 'puppetmaster.example.net',
  String $pt_puppetdb_fqdn          = 'puppetdb.example.net',
  Boolean $pt_use_puppetdb          = false,

  # installation
  String $pt_pkg_ensure             = 'present',
  String $pt_agent_pkg              = 'puppet-agent',
  String $pt_server_pkg             = 'puppetserver',
  Array $pt_r10k_pkg                = ['ruby','ruby-devel','rubygems','gcc','make'],
  Array $pt_r10k_webhook_pkg        = ['webrick', 'r10k_gitlab_webhook'],

  # user settings
  ## puppet user
  Boolean $pt_manage_user           = false,
  String $pt_user                   = 'puppet',
  String $pt_user_comment           = 'puppetserver daemon',
  String $pt_user_home              = '/opt/puppetlabs/server/data/puppetserver',
  String $pt_user_shell             = '/sbin/nologin',

  # templates
  ## puppet
  String $pt_environment            = 'production',
  Boolean $pt_allow_duplicate_certs = false,
  String $pt_basemodulepath         = '/etc/puppetlabs/code/environments/common:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules:/usr/share/puppet/modules',
  String $pt_logdir                 = '/var/log/puppetlabs/puppet',
  String $pt_pluginfactsource       = 'pluginfacts',
  String $pt_pluginsource           = 'plugins',
  String $pt_reports                = 'foreman',
  Boolean $pt_show_diff             = false,
  Boolean $pt_default_schedules     = false,
  String $pt_masterport             = '8140',
  Boolean $pt_noop                  = false,
  Boolean $pt_pluginsync            = true,
  Boolean $pt_report                = true,
  String $pt_runinterval            = '1800',
  Boolean $pt_splay                 = false,
  String $pt_splaylimit             = '1800',
  Boolean $pt_usecacheonfailure     = true,
  String $pt_autosign               = '/etc/puppetlabs/puppet/autosign.conf',
  Boolean $pt_ca                    = true,
  String $pt_external_nodes         = '/etc/puppetlabs/puppet/node.rb',
  String $pt_logdir_master          = '/var/log/puppetlabs/puppetserver',
  String $pt_node_terminus          = 'exec',
  Boolean $pt_strict_variables      = false,
  Boolean $pt_storeconfigs          = true,
  String $pt_storeconfigs_backend   = 'puppetdb',
  String $pt_parser                 = 'current',
  Boolean $pt_cert_revocation       = true,

# puppetdb
  String $pt_ssl_port               = '8081',

# r10k
  Boolean $pt_use_r10k              = false,
  Boolean $pt_use_r10k_webhook      = false,
  String $pt_r10k_remote            = 'git@gitlab.example.net/repo.git',
  Boolean $pt_r10k_prefix           = false,
  String $pt_r10k_basedir           = '/etc/puppetlabs/code/environments',
  String $pt_r10k_webhook_port      = '8085',

) {
# facts
  $fqdn                   = $facts['networking']['fqdn']
  $domain                 = $facts['networking']['domain']
  $os_name                = $facts['os']['name']
  $os_release             = $facts['os']['release']['major']

# directories
## puppet
  $pt_main_dir                      = '/etc/puppetlabs'
  $pt_puppetdir                     = "${pt_main_dir}/puppet"
  $pt_code_dir                      = "${pt_main_dir}/code"
  $pt_environmentspath              = "${pt_code_dir}/environments"
  $pt_ssldir                        = "${pt_puppetdir}/ssl"
  $pt_privatekeydir                 = "${pt_ssldir}/private_keys"
  $pt_rundir                        = '/var/run/puppetlabs'
  $pt_rundir_master                 = '/var/run/puppetlabs/puppetserver'
  $pt_vardir                        = '/opt/puppetlabs/puppet/cache'
  $pt_vardir_master                 = '/opt/puppetlabs/server/data/puppetserver'

## r10k
  $pt_r10k_dir                      = "${pt_main_dir}/r10k"
  $pt_r10k_webhook_dir              = '/etc/r10k-webhook'

# files
## puppet
  $pt_puppet_conf_file              = "${pt_puppetdir}/puppet.conf"
  $pt_puppet_conf_erb               = 'puppet_cd/puppet.conf.erb'
  $pt_hiera_config                  = "${pt_puppetdir}/hiera.yaml"
  $pt_puppetdb_conf_file            = "${pt_puppetdir}/puppetdb.conf"
  $pt_puppetdb_conf_erb             = 'puppet_cd/puppetdb/puppetdb.conf.erb'

## r10k
  $pt_r10k_file                     = "${pt_r10k_dir}/r10k.yaml"
  $pt_r10k_erb                      = 'puppet_cd/r10k/r10k.yaml.erb'
  $pt_webhook_link                  = 'ln -sf  /usr/local/share/gems/gems/r10k_gitlab_webhook-0.1.3/bin/r10k_gitlab_webhook /usr/bin/'
  $pt_webhook_service_file          = '/etc/systemd/system/r10k_gitlab_webhook.service'
  $pt_webhook_service_erb           = 'puppet_cd/r10k/r10k_webhook_service.erb'

# service
  $pt_server_service                = 'puppetserver'
  $pt_agent_service                 = 'puppet'
  $pt_r10k_webhook_service          = 'r10k_gitlab_webhook'

#
  # includes must be last
  include puppet_cd::main::config
}