From ce6f705881bebee156ad430a017ef9202c6a1f2f Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Mon, 27 Oct 2025 23:05:15 +0100 Subject: [PATCH] add control for puppetdb.conf - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/284 --- manifests/main/files.pp | 12 ++++++++++++ manifests/params.pp | 13 +++++++++++-- templates/puppetdb/puppetdb.conf.erb | 8 ++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 templates/puppetdb/puppetdb.conf.erb diff --git a/manifests/main/files.pp b/manifests/main/files.pp index b7237ab..b763eaa 100644 --- a/manifests/main/files.pp +++ b/manifests/main/files.pp @@ -30,5 +30,17 @@ class puppet_cd::main::files ( content => template($pt_puppet_conf_erb), notify => Service[$pt_agent_service,$pt_server_service], } + + if $pt_use_puppetdb == true { + file { $pt_puppetdb_conf_file: + ensure => file, + path => $pt_puppetdb_conf_file, + owner => 'root', + group => 'root', + mode => '0644', + content => template($pt_puppetdb_conf_erb), + notify => Service[$pt_agent_service,$pt_server_service], + } + } } } diff --git a/manifests/params.pp b/manifests/params.pp index e6620be..ccd79c5 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -3,8 +3,10 @@ # 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 [Boolean] pt_use_puppetdb whether to use puppetdb # @param [String] pt_pm_fqdn the fqdn for the puppetmaster and master -# settings are applied. any other fqdn # will be considered a puppet agent. +# settings are applied. any other fqdn # will be considered a puppet agent. +# @param [String] pt_db_fqdn the fqdn for the puppetdb node. # @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 @@ -50,11 +52,14 @@ # @param [Array] pt_r10k_webhook_pkg the packages for the r10k webhook # @param [Boolean] pt_manage_user whether to manage the puppet user # @param [String] pt_r10k_webhook_port the port for the webhook listener +# @param [String] pt_ssl_port the port for the puppetdb ssl port ############################################################################### class puppet_cd::params ( Boolean $pt_manage_fw = true, String $pt_pm_fqdn = 'puppetmaster.example.net', + String $pt_db_fqdn = 'puppetdb.example.net', + Boolean $pt_use_puppetdb = false, # installation String $pt_pkg_ensure = 'latest', @@ -101,6 +106,9 @@ class puppet_cd::params ( 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, @@ -137,8 +145,9 @@ class puppet_cd::params ( ## 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" + $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" diff --git a/templates/puppetdb/puppetdb.conf.erb b/templates/puppetdb/puppetdb.conf.erb new file mode 100644 index 0000000..b028ccb --- /dev/null +++ b/templates/puppetdb/puppetdb.conf.erb @@ -0,0 +1,8 @@ + +368 B +############################################################################### +########## puppetdb.conf managed by puppet agent ########## +############################################################################### +[main] +server_urls = https://<%= @pt_db_fqdn%>:<%= @pt_ssl_port %> +soft_write_failure = <%= @pt_soft_write_failure %> \ No newline at end of file