diff options
Diffstat (limited to 'manifests/key.pp')
-rw-r--r-- | manifests/key.pp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/manifests/key.pp b/manifests/key.pp index f083a02..999b767 100644 --- a/manifests/key.pp +++ b/manifests/key.pp @@ -1,5 +1,6 @@ define x509::key ( - $source = "puppet:///modules/site_x509/files/keys/${name}.key" + $content = 'absent', + $source = 'absent' ) { include x509::variables include x509::base @@ -8,7 +9,26 @@ define x509::key ( ensure => file, mode => '0600', group => 'ssl-cert', - source => $source, require => Package['openssl'] } + + case $content { + 'absent': { + $real_source = $source ? { + 'absent' => [ + "puppet:///modules/site_x509/keys/${::fqdn}/${name}.key", + "puppet:///modules/site_x509/keys/${name}.key" + ], + default => "puppet:///$source", + } + File["${x509::variables::keys}/${name}.key"] { + source => $real_source + } + } + default: { + File["${x509::variables::keys}/${name}.key"] { + source => $content + } + } + } } |