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) (defaults to: 'puppetdb.example.net')

    the fqdn for the puppetdb host.

  • pt_package_url (String) (defaults to: 'https://yum.puppet.com/puppet8-release-el-9.noarch.rpm')

    the url for fetching the repo rpm

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

    the packages for puppetdb

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

    non-ssl port number for puppetdb

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

    ssl port for puppetdb

  • pt_use_ssl_only (Boolean) (defaults to: true)

    whether to use ssl only.

  • pt_manage_user (Boolean) (defaults to: true)

    whether to manage the puppet user

  • 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) (defaults to: true)

    whether to manage the user for puppetdb

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

    the puppetdb user

  • pt_db_user_comment (String) (defaults to: 'PuppetDB daemon')

    the user comment for puppetdb user

  • pt_db_user_home (String) (defaults to: '/opt/puppetlabs/server/data/puppetdb')

    the user home for the puppetdb user

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

    the shell for the puppetdb user

  • pt_use_puppetdb (Boolean) (defaults to: false)

    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_allow_duplicate_certs (Boolean) (defaults to: false)
  • pt_logdir (String) (defaults to: '/var/log/puppetlabs/puppet')
  • pt_pluginfactsource (String) (defaults to: 'pluginfacts')
  • pt_pluginsource (String) (defaults to: 'plugins')
  • pt_reports (String) (defaults to: 'foreman')
  • pt_show_diff (Boolean) (defaults to: false)
  • pt_default_schedules (Boolean) (defaults to: false)
  • pt_listen (Boolean) (defaults to: false)
  • pt_masterport (String) (defaults to: '8140')
  • pt_noop (Boolean) (defaults to: false)
  • pt_pluginsync (Boolean) (defaults to: true)
  • pt_report (Boolean) (defaults to: true)
  • pt_runinterval (String) (defaults to: '1800')
  • pt_splay (Boolean) (defaults to: false)
  • pt_splaylimit (String) (defaults to: '1800')
  • pt_usecacheonfailure (Boolean) (defaults to: true)
  • pt_autosign (String) (defaults to: '/etc/puppetlabs/puppet/autosign.conf')
  • pt_ca (Boolean) (defaults to: true)
  • pt_external_nodes (String) (defaults to: '/etc/puppetlabs/puppet/node.rb')
  • pt_logdir_master (String) (defaults to: '/var/log/puppetlabs/puppetserver')
  • pt_node_terminus (String) (defaults to: 'exec')
  • pt_strict_variables (Boolean) (defaults to: false)
  • pt_storeconfigs (Boolean) (defaults to: true)
  • pt_storeconfigs_backend (String) (defaults to: 'puppetdb')
  • pt_parser (String) (defaults to: 'current')
  • pt_logging_max_file_size (String) (defaults to: '200MB')
  • pt_logging_max_history (String) (defaults to: '90')
  • pt_logging_total_size (String) (defaults to: '1GB')
  • pt_com_proc_threads (String) (defaults to: '4')
  • pt_concurrent_writes (String) (defaults to: '4')
  • pt_db_subname (String) (defaults to: '//localhost:5432/puppetdb')
  • pt_db_username (String) (defaults to: 'foobar')
  • pt_db_password (String) (defaults to: 'foobar')
  • pt_gc_interval (String) (defaults to: '60')
  • pt_log_slow_statements (String) (defaults to: '10')
  • pt_puppetdb_source_lan (String) (defaults to: '0.0.0.0/0')
  • pt_soft_write_failure (Boolean) (defaults to: false)
  • pt_no_ssl_host (String) (defaults to: '0.0.0.0')
  • pt_ssl_host (String) (defaults to: '0.0.0.0')
  • pt_ssl_key (String) (defaults to: '/etc/puppetlabs/puppetdb/ssl/private.pem')
  • pt_ssh_cert (String) (defaults to: '/etc/puppetlabs/puppetdb/ssl/public.pem')
  • pt_ssl_ca_cert (String) (defaults to: '/etc/puppetlabs/puppetdb/ssl/ca.pem')
  • pt_log_access (Boolean) (defaults to: false)
  • pt_access_log_config (String) (defaults to: '/etc/puppetlabs/puppetdb/request-logging.xml')
  • pt_enable_repl (Boolean) (defaults to: false)
  • pt_repl_port (String) (defaults to: '8082')
  • pt_repl_host (String) (defaults to: '127.0.0.1')


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

class puppet_cd::params (

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

  # installation
  String $pt_package_url            = 'https://yum.puppet.com/puppet8-release-el-9.noarch.rpm',
  String $pt_pkg_ensure             = 'present',
  String $pt_agent_pkg              = 'puppet-agent',
  String $pt_server_pkg             = 'puppetserver',
  Array $pt_db_pkg                  = ['puppetdb','puppetdb-termini'],

  # user settings
  ## puppet user
  Boolean $pt_manage_user           = true,
  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',
  ## puppetdb user
  Boolean $pt_manage_db_user        = true,
  String $pt_db_user                = 'puppetdb',
  String $pt_db_user_comment        = 'PuppetDB daemon',
  String $pt_db_user_home           = '/opt/puppetlabs/server/data/puppetdb',
  String $pt_db_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,
  Boolean $pt_listen                = 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',
## puppetdb
  Boolean $pt_use_puppetdb          = false,
  String $pt_logging_max_file_size  = '200MB',
  String $pt_logging_max_history     = '90',
  String $pt_logging_total_size     = '1GB',
  String $pt_com_proc_threads       = '4',
  String $pt_concurrent_writes      = '4',
  String $pt_db_subname             = '//localhost:5432/puppetdb',
  String $pt_db_username            = 'foobar',
  String $pt_db_password            = 'foobar',
  String $pt_gc_interval            = '60',
  String $pt_log_slow_statements    = '10',
  String $pt_no_ssl_port            = '8080',
  String $pt_ssl_port               = '8081',
  Boolean $pt_use_ssl_only          = true,
  String $pt_puppetdb_source_lan    = '0.0.0.0/0',
  Boolean $pt_soft_write_failure    = false,
  String $pt_no_ssl_host            = '0.0.0.0',
  String $pt_ssl_host               = '0.0.0.0',
  String $pt_ssl_key                = '/etc/puppetlabs/puppetdb/ssl/private.pem',
  String $pt_ssh_cert               = '/etc/puppetlabs/puppetdb/ssl/public.pem',
  String $pt_ssl_ca_cert            = '/etc/puppetlabs/puppetdb/ssl/ca.pem',
  Boolean $pt_log_access            = false,
  String $pt_access_log_config      = '/etc/puppetlabs/puppetdb/request-logging.xml',
  Boolean $pt_enable_repl           = false,
  String $pt_repl_port              = '8082',
  String $pt_repl_host              = '127.0.0.1',

) {
  $fqdn                       = $facts['networking']['fqdn']

# 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'
## puppetdb
  $pt_puppetdb_main           = '/etc/puppetlabs/puppetdb'
  $pt_puppetdb_conf_d         = "${pt_puppetdb_main}/conf.d"
  $pt_puppetdb_ssl            = "${pt_puppetdb_main}/ssl"
  $pt_puppetdb_log            = '/var/log/puppetlabs/puppetdb'
  $pt_puppetdb_var_dir        = '/opt/puppetlabs/server/data/puppetdb'

# 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"
## puppetdb
  $pt_bootstrap_conf        = "${pt_puppetdb_main}/bootstrap.cfg"
  $pt_bootstrap_erb         = 'cd_puppet/puppetdb/bootstrap.cfg.erb'
  $pt_puppetdb_access_log   = "${pt_puppetdb_log}/puppetdb-access"
  $pt_request_logging_conf  = "${pt_puppetdb_main}/request-logging.xml"
  $pt_request_logging_erb   = 'cd_puppet/puppetdb/request_logging.xml.erb'
  $pt_logback_conf          = "${pt_puppetdb_main}/logback.xml"
  $pt_logback_erb           = 'cd_puppet/puppetdb/logback.xml.erb'
  $pt_puppetdb_config_ini   = "${pt_puppetdb_conf_d}/config.ini"
  $pt_puppetdb_config_erb   = 'cd_puppet/puppetdb/config.ini.erb'
  $pt_puppetdb_database_ini = "${pt_puppetdb_conf_d}/database.ini"
  $pt_puppetdb_database_erb = 'cd_puppet/puppetdb/database.ini.erb'
  $pt_puppetdb_jetty_ini    = "${pt_puppetdb_conf_d}/jetty.ini"
  $pt_puppetdb_jetty_erb    = 'cd_puppet/puppetdb/jetty.ini.erb'
  $pt_puppetdb_conf_file    = "${pt_puppetdir}/puppetdb.conf"
  $pt_puppetdb_conf_erb     = 'cd_puppet/puppetdb/puppetdb.conf.erb'
  $pt_puppetdb_repl_ini     = "${pt_puppetdb_conf_d}/repl.ini"
  $pt_puppetdb_repl_erb     = 'cd_puppet/puppetdb/repl.ini.erb'

# service
  $pt_server_service          = 'puppetserver'
  $pt_agent_service           = 'puppet'
  $pt_db_service              = 'puppetdb'

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