summaryrefslogtreecommitdiff
path: root/manifests/key.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/key.pp')
-rw-r--r--manifests/key.pp24
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
+ }
+ }
+ }
}