diff --git a/manifests/common.pp b/manifests/common.pp index 017aba8..82217c8 100644 --- a/manifests/common.pp +++ b/manifests/common.pp @@ -1,5 +1,5 @@ # Common configuration for acme_vault -# +# class acme_vault::common ( $user = $::acme_vault::params::user, @@ -17,12 +17,13 @@ class acme_vault::common ( ) inherits acme_vault::params { $common_bashrc_template = @(END) -export PATH=$HOME:$PATH -export VAULT_BIN=<%= @vault_bin %> -export VAULT_TOKEN=<%= @vault_token %> -export VAULT_ADDR=<%= @vault_addr %> -export VAULT_PREFIX=<%= @vault_prefix %> -END + export PATH=$HOME:$PATH + export VAULT_BIN=<%= @vault_bin %> + export VAULT_TOKEN=<%= @vault_token %> + export VAULT_ADDR=<%= @vault_addr %> + export VAULT_PREFIX=<%= @vault_prefix %> + | END + # create acme_vault user user { $user: ensure => present, diff --git a/manifests/deploy.pp b/manifests/deploy.pp index 34ac066..df0ae4c 100644 --- a/manifests/deploy.pp +++ b/manifests/deploy.pp @@ -8,8 +8,8 @@ class acme_vault::deploy( $domains = $::acme_vault::common::domains, $cert_destination_path = $::acme_vault::params::cert_destination_path, - $restart = $::acme_vault::params::restart, - $restart_command = $::acme_vault::params::restart_command, + $deploy_scripts = $::acme_vault::params::deploy_scripts, + $restart_method = $::acme_vault::params::restart_method, ) inherits acme_vault::params { include acme_vault::common @@ -23,25 +23,18 @@ class acme_vault::deploy( source => 'puppet:///modules/acme_vault/check_cert.sh', } - # ensure destination path exists - file {$cert_destination_path: + # ensure destination paths exist + file {[$cert_destination_path, $deploy_scripts]: ensure => directory, owner => $user, group => $group, mode => '0750', } - # cron job for deploy - if $restart { - $restart_suffix = "&& ${restart_command}" - } else { - $restart_suffix = '' - } - # go through each domain, setup cron, and ensure the destination dir exists $domains.each |$domain, $d_list| { cron { "${domain}_deploy": - command => ". \$HOME/.bashrc && ${home_dir}/check_cert.sh ${domain} ${cert_destination_path} ${restart_suffix}", + command => ". \$HOME/.bashrc && ${home_dir}/check_cert.sh ${domain} ${cert_destination_path} && ${restart_method}", user => $user, weekday => 2, hour => 11, diff --git a/manifests/params.pp b/manifests/params.pp index 82ac7d0..c82955d 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -26,16 +26,13 @@ class acme_vault::params { $acme_repo_path = "${home_dir}/acme.sh" $acme_script = "${acme_repo_path}/acme.sh" - # lexicon - $lexicon_provider = undef - $lexicon_username = undef - $lexicon_token = undef + # lexicon + $lexicon_provider = undef + $lexicon_username = undef + $lexicon_token = undef # settings for deploy - - $cert_destination_path = '/etc/acme/' - - $restart = false - $restart_command = 'echo restart!' - + $cert_destination_path = '/etc/acme' + $deploy_scripts = "${cert_destination_path}/deploy.d" + $restart_method = "for f in ${deploy_scripts}/*.sh; do \"\$f\"; done" }