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) settings are applied. any other fqdn # will be considered a puppet agent.

Parameters:

  • pt_manage_fw (Boolean) (defaults to: true)

    whether to manage firewall settings

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

    the fqdn for the puppetmaster and master

  • pt_db_fqdn (String)

    the fqdn for the puppetdb host.

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

    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_db_pkg (Array) (defaults to: ['puppetdb','puppetdb-termini'])

    the packages for puppetdb

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

    the packages for r10k to install

  • pt_no_ssl_port (String)

    non-ssl port number for puppetdb

  • pt_ssl_port (String)

    ssl port for puppetdb

  • pt_use_ssl_only (Boolean)

    whether to use ssl only.

  • 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_manage_db_user (Boolean)

    whether to manage the user for puppetdb

  • pt_db_user (String)

    the puppetdb user

  • pt_db_user_comment (String)

    the user comment for puppetdb user

  • pt_db_user_home (String)

    the user home for the puppetdb user

  • pt_db_user_shell (String)

    the shell for the puppetdb user

  • pt_use_puppetdb (Boolean)

    whether to use puppetdb on host

  • 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_logging_max_file_size (String)

    max file size for puppetdb logging

  • pt_logging_max_history (String)

    max logging history

  • pt_logging_total_size (String)

    total size of logging file

  • pt_com_proc_threads (String)

    number of processing threads

  • pt_concurrent_writes (String)

    max concurrent writes

  • pt_db_subname (String)

    the db name

  • pt_db_username (String)

    the db username

  • pt_db_password (String)

    the db password

  • pt_gc_interval (String)

    garbage collection interval (Java)

  • pt_log_slow_statements (String)

    number of seconds before an SQL query is considered “slow.”

  • pt_puppetdb_source_lan (String)

    the source lan for puppetdb clients

  • pt_soft_write_failure (Boolean)

    allows the PuppetDB-termini to fail softly if PuppetDB is not accessible for command submission.

  • pt_no_ssl_host (String)

    ip range for non-ssl hosts

  • pt_ssl_host (String)

    ip range for SSL hosts

  • pt_ssl_key (String)

    location of the private key

  • pt_ssl_cert (String)

    location of the ssl cert

  • pt_ssl_ca_cert (String)

    location of the ssl ca cert

  • pt_log_access (Boolean)

    whether to configure log access

  • pt_access_log_config (String)

    the location of the access log config

  • pt_enable_repl (Boolean)

    whether to allow puppetdb replication

  • pt_repl_port (String)

    the replication port

  • pt_repl_host (String)

    the replication host

  • 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: '8080')

    the port for the webhook listener



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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'manifests/params.pp', line 89

class puppet_cd::params (

  Boolean $pt_manage_fw             = true,
  String $pt_pm_fqdn                = 'puppetmaster.example.net',

  # installation
  String $pt_pkg_ensure             = 'latest',
  String $pt_agent_pkg              = 'puppet-agent',
  String $pt_server_pkg             = 'puppetserver',
  Array $pt_db_pkg                  = ['puppetdb','puppetdb-termini'],
  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,

# 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      = '8080',

) {
# 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_agent_conf_erb                = 'puppet_cd/agent.conf.erb'
  $pt_hiera_config                  = "${pt_puppetdir}/hiera.yaml"

## 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
}