diff options
Diffstat (limited to 'manifests/manage.pp')
-rw-r--r-- | manifests/manage.pp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/manifests/manage.pp b/manifests/manage.pp new file mode 100644 index 0000000..865ca24 --- /dev/null +++ b/manifests/manage.pp @@ -0,0 +1,25 @@ +define certbot::manage( + $pre_hook = '', + $ensure = present, + $email = hiera('certbot::manage::email'), + $size = hiera('certbot::manage::size', '4096'), +){ + file { "${::certbot::basedir}/${name}": + ensure => directory, + owner => 'root', + group => "${::certbot::owner}" + mode => '0750', + require => Package["${::certbot::tool}"], + } + + if $pre_hook != '' { + $real_pre_hook = "${pre_hook} && " + } + + # Make sure nginx is restarted and request a certificate + exec { "certbot-${name}": + command => "${real_pre_hook}/usr/bin/certbot certonly --webroot -w /var/www/certbot/${name} -d ${name} -d www.${name} -m ${email} --rsa-key-size ${size} --agree-tos", + creates => "/etc/letsencrypt/archive/${name}", + require => File["${::certbot::basedir}/${name}"], + } +} |