git.lirion.de

Of git, get, and gud

summaryrefslogtreecommitdiffstats
path: root/site
diff options
context:
space:
mode:
Diffstat (limited to 'site')
-rw-r--r--site/profile/files/puppetmaster/update-classes.sh11
-rw-r--r--site/profile/manifests/puppetmaster.pp16
2 files changed, 27 insertions, 0 deletions
diff --git a/site/profile/files/puppetmaster/update-classes.sh b/site/profile/files/puppetmaster/update-classes.sh
new file mode 100644
index 0000000..dea10a9
--- /dev/null
+++ b/site/profile/files/puppetmaster/update-classes.sh
@@ -0,0 +1,11 @@
+#https://docs.puppetlabs.com/pe/latest/nc_update_classes.html#post-v1update-classes
+
+CONFDIR=$(puppet master --configprint confdir)
+
+CERT=$(puppet master --confdir ${CONFDIR} --configprint hostcert)
+CACERT=$(puppet master --confdir ${CONFDIR} --configprint localcacert)
+PRVKEY=$(puppet master --confdir ${CONFDIR} --configprint hostprivkey)
+OPTIONS="--cert ${CERT} --cacert ${CACERT} --key ${PRVKEY}"
+CONSOLE=$(awk '/server =/{print $NF}' ${CONFDIR}/console.conf)
+
+curl -k -X POST ${OPTIONS} "https://${CONSOLE}:4433/classifier-api/v1/update-classes"
diff --git a/site/profile/manifests/puppetmaster.pp b/site/profile/manifests/puppetmaster.pp
index bc52d3b..687b957 100644
--- a/site/profile/manifests/puppetmaster.pp
+++ b/site/profile/manifests/puppetmaster.pp
@@ -48,4 +48,20 @@ class profile::puppetmaster {
}
#END - Add deploy key and webhook to git management system
+ #Lay down update-classes.sh for use in r10k postrun_command
+ #This is configured via the pe_r10k::postrun key in hiera
+ file { '/usr/local/bin/update-classes.sh' :
+ ensure => file,
+ source => 'puppet::///modules/profile/puppetmaster/update-classes.sh',
+ }
+
+ #https://docs.puppetlabs.com/puppet/latest/reference/config_file_environment.html#environmenttimeout
+ ini_setting { "environment_timeout = unlimited":
+ ensure => present,
+ path => '/etc/puppetlabs/puppet/puppet.conf',
+ section => 'main',
+ setting => 'environment_timeout',
+ value => 'unlimited',
+ }
+
}