diff options
Diffstat (limited to 'manifests/cert.pp')
-rw-r--r-- | manifests/cert.pp | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/manifests/cert.pp b/manifests/cert.pp index ceeb085..da2b253 100644 --- a/manifests/cert.pp +++ b/manifests/cert.pp @@ -1,14 +1,34 @@ define x509::cert ( - $source = "puppet:///modules/site_x509/files/certs/${name}.crt", + $content = 'absent', + $source = 'absent' ) { include x509::variables include x509::base - file { "${x509::variables::certs}/${name}.crt" : + file { "${x509::variables::certs}/${name}.crt": ensure => file, mode => '0444', group => 'ssl-cert', - source => $source, - require => Package['openssl'], + require => Package['openssl'] + } + + case $content { + 'absent': { + $real_source = $source ? { + 'absent' => [ + "puppet:///modules/site_x509/certs/${::fqdn}/${name}.crt", + "puppet:///modules/site_x509/certs/${name}.crt" + ], + default => "puppet:///$source", + } + File["${x509::variables::certs}/${name}.crt"] { + source => $real_source + } + } + default: { + File["${x509::variables::certs}/${name}.crt"] { + source => $content + } + } } } |