## puppet_cd::params.pp # Module name: puppet_cd # Author: Arne Teuke (arne_teuke@confdroid) # @summary Class manages parameters for the puppet_cd module. # @param [boolean] pt_manage_fw whether to manage firewall settings # @param [string] pt_pm_fqdn the fqdn for the puppetmaster and master # settings are applied. any other fqdn # will be considered a puppet agent. # @param [string] pt_db_fqdn the fqdn for the puppetdb host. # @param [string] pt_package_url the url for fetching the repo rpm # @param [string] pt_pkg_ensure valid: "present", "latest", "v1.2.3" # @param [string] pt_agent_pkg the packages for agents to install # @param [string] pt_server_pkg the server packages to install # @param [array] pt_db_pkg the packages for puppetdb # @param [string] pt_no_ssl_port non-ssl port number for puppetdb # @param [string] pt_ssl_port ssl port for puppetdb # @param [boolean] pt_use_ssl_only whether to use ssl only. # @param [boolean] pt_manage_user whether to manage the puppet user # @param [string] pt_user the puppet user # @param [string] pt_user_comment the user comment # @param [string] pt_user_home the user home # @param [string] pt_user_shell the user shell # @param [boolean] pt_manage_db_user whether to manage the user for puppetdb # @param [string] pt_db_user the puppetdb user # @param [string] pt_db_user_comment the user comment for puppetdb user # @param [string] pt_db_user_home the user home for the puppetdb user # @param [string] pt_db_user_shell the shell for the puppetdb user # @param [boolean] pt_use_puppetdb whether to use puppetdb on host # @param [string] pt_environment the environment # @param [boolean] pt_basemodulepath the base module path # @param ############################################################################### 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_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 }