summaryrefslogtreecommitdiff
path: root/manifests/config
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/config')
-rw-r--r--manifests/config/file.pp28
-rw-r--r--manifests/config/global.pp2
-rw-r--r--manifests/config/include.pp2
3 files changed, 30 insertions, 2 deletions
diff --git a/manifests/config/file.pp b/manifests/config/file.pp
index 76328b5..308da68 100644
--- a/manifests/config/file.pp
+++ b/manifests/config/file.pp
@@ -2,6 +2,7 @@
# by default we assume it's a global configuration file
define apache::config::file(
$ensure = present,
+ $target = false,
$type = 'global',
$source = 'absent',
$content = 'absent',
@@ -50,12 +51,35 @@ define apache::config::file(
}
}
default: {
- File["apache_${name}"]{
- content => $content,
+ case $content {
+ 'absent': {
+ $real_source = $source ? {
+ 'absent' => [
+ "puppet://${server}/modules/site-apache/${confdir}/${fqdn}/${name}",
+ "puppet://${server}/modules/site-apache/${confdir}/${apache_cluster_node}/${name}",
+ "puppet://${server}/modules/site-apache/${confdir}/${operatingsystem}.${lsbdistcodename}/${name}",
+ "puppet://${server}/modules/site-apache/${confdir}/${operatingsystem}/${name}",
+ "puppet://${server}/modules/site-apache/${confdir}/${name}",
+ "puppet://${server}/modules/apache/${confdir}/${operatingsystem}.${lsbdistcodename}/${name}",
+ "puppet://${server}/modules/apache/${confdir}/${operatingsystem}/${name}",
+ "puppet://${server}/modules/apache/${confdir}/${name}"
+ ],
+ default => $source,
+ }
+ File["apache_${name}"]{
+ source => $real_source,
+ }
+ }
+ default: {
+ File["apache_${name}"]{
+ content => $content,
+ }
+ }
}
}
}
}
+
case $::operatingsystem {
openbsd: { info("no package dependency on ${::operatingsystem} for ${name}") }
default: {
diff --git a/manifests/config/global.pp b/manifests/config/global.pp
index 5bb075b..8b0389b 100644
--- a/manifests/config/global.pp
+++ b/manifests/config/global.pp
@@ -2,12 +2,14 @@
# wrapper for apache::config::file
define apache::config::global(
$ensure = present,
+ $target = false,
$source = 'absent',
$content = 'absent',
$destination = 'absent'
){
apache::config::file { "${name}":
ensure => $ensure,
+ target => $target,
type => 'global',
source => $source,
content => $content,
diff --git a/manifests/config/include.pp b/manifests/config/include.pp
index b58073f..4d676f0 100644
--- a/manifests/config/include.pp
+++ b/manifests/config/include.pp
@@ -1,12 +1,14 @@
# deploy apache configuration file (includes for vhosts)
define apache::config::include(
$ensure = present,
+ $target = false,
$source = 'absent',
$content = 'absent',
$destination = 'absent'
){
apache::config::file { "${name}":
ensure => $ensure,
+ target => $target,
type => 'include',
source => $source,
content => $content,