]> gitweb.fluxo.info Git - puppet-certbot.git/commitdiff
Support for pre and post commands at certbot class
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 31 May 2018 00:01:49 +0000 (21:01 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 31 May 2018 00:01:49 +0000 (21:01 -0300)
manifests/init.pp

index 96e16b1062489857c8445db2a7b692da57793727..483511f357df23b051d87d3b3019f64fad6f4053 100644 (file)
@@ -1,10 +1,12 @@
 class certbot(
-  $script_base = '/usr/bin',
-  $basedir     = '/var/spool/certbot',
-  $owner       = 'www-data',
-  $pre_hook    = '',
-  $post_hook   = '',
-  $plugin      = 'webroot',
+  $script_base  = '/usr/bin',
+  $basedir      = '/var/spool/certbot',
+  $owner        = 'www-data',
+  $pre_hook     = '',
+  $post_hook    = '',
+  $pre_command  = '',
+  $post_command = '',
+  $plugin       = 'webroot',
 ) {
 
   $tool = $::lsbdistcodename ? {
@@ -20,6 +22,14 @@ class certbot(
     $real_post_hook = "--post-hook \"${post_hook}\""
   }
 
+  if $pre_command != '' {
+    $real_pre_command = "${pre_command} &&"
+  }
+
+  if $post_command != '' {
+    $real_post_command = "&& ${post_command}"
+  }
+
   # Certbot support
   file { $basedir:
     ensure  => directory,
@@ -38,7 +48,7 @@ class certbot(
 
   # Chosing an arbitrary minute within the hour in the hope that won't overload Let's Encrypt servers
   cron { 'certbot-renew':
-    command => "${script_base}/${tool} renew --${plugin} --quiet -n ${real_pre_hook} ${real_post_hook}",
+    command => "${real_pre_command}${script_base}/${tool} renew --${plugin} --quiet -n ${real_pre_hook} ${real_post_hook}${real_post_command}",
     user    => 'root',
     hour    => [ 5, 23 ],
     minute  => "28",