diff options
-rw-r--r-- | manifests/manage.pp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/manifests/manage.pp b/manifests/manage.pp index ebcbbad..ce14b0f 100644 --- a/manifests/manage.pp +++ b/manifests/manage.pp @@ -1,9 +1,18 @@ define certbot::manage( $pre_hook = '', + $aliases = "www.${name}", $ensure = present, $email = hiera('certbot::manage::email'), $size = hiera('certbot::manage::size', '4096'), ){ + # Format aliases and strip wildcard attempts + $list = regsubst($aliases, ' ', ' -d ', 'G') + $strip = regsubst($list, '\*', 'www', 'G') + $domains = $strip ? { + '' => '', + default => "-d ${strip}", + } + file { "${::certbot::basedir}/${name}": ensure => directory, owner => 'root', @@ -18,7 +27,7 @@ define certbot::manage( # Make sure nginx is restarted and request a certificate exec { "certbot-${name}": - command => "${real_pre_hook}/usr/bin/certbot certonly --webroot -w ${::certbot::basedir}/${name} -d ${name} -d www.${name} -m ${email} --rsa-key-size ${size} --agree-tos", + command => "${real_pre_hook}/usr/bin/certbot certonly --webroot -w ${::certbot::basedir}/${name} -d ${name} ${domains} -m ${email} --rsa-key-size ${size} --agree-tos", creates => "/etc/letsencrypt/archive/${name}", require => File["${::certbot::basedir}/${name}"], } |