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

    the puppetdb packages to install

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

    the packages for r10k to install

  • 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_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

  • pt_soft_write_failure (Boolean) (defaults to: false)

    whether to allow soft_write_failure

  • pt_db_subname (String) (defaults to: '//localhost:5432/puppetdb')

    the url for the database connection

  • pt_db_username (String) (defaults to: 'foobar')

    the username for the database connection

  • pt_db_password (String) (defaults to: 'foobar')

    the password for the database connection

  • pt_gc_interval (String) (defaults to: '60')

    How often (in minutes) to compact the database

  • pt_http_port (String) (defaults to: '8080')

    Port to listen on for clear-text HTTP.

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

    Port to listen on for HTTPs connections.

  • pt_ssl_host (String) (defaults to: '0.0.0.0')

    IP address to listen on for HTTPS connections

  • pt_repl_on (Boolean) (defaults to: false)

    toggle the remote repl true false

  • pt_repl_port (String) (defaults to: '8082')

    What port the REPL should listen on

  • pt_repl_host (String) (defaults to: '127.0.0.1')

    IP address to listen on



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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# File 'manifests/params.pp', line 64

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_puppetdb_pkg            = ['puppetdb-termini', 'puppetdb'],
  Array $pt_r10k_pkg                = ['ruby','ruby-devel','rubygems','gcc','make'],
  Array $pt_r10k_webhook_pkg        = ['webrick', 'r10k_gitlab_webhook'],

  # 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',
  Boolean $pt_soft_write_failure    = false,
  String $pt_db_subname             = '//localhost:5432/puppetdb',
  String $pt_db_username            = 'foobar',
  String $pt_db_password            = 'foobar',
  String $pt_gc_interval            = '60',
  ## jetty
  String $pt_http_port              = '8080',
  String $pt_https_port             = '8081',
  String $pt_ssl_host               = '0.0.0.0',
  ## repl
  Boolean $pt_repl_on               = false,
  String $pt_repl_port              = '8082',
  String $pt_repl_host              = '127.0.0.1',

# 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'
  $pt_routes_file                   = "${pt_puppetdir}/routes.yaml"
  $pt_routes_erb                    = 'puppet_cd/puppetdb/routes.yaml.erb'
  $pt_node_rb_file                  = "${pt_puppetdir}/node.rb"
  $pt_node_rb_erb                   = 'puppet_cd/puppetdb/node.rb.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
}