summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2009-12-23 17:15:31 -0500
committerJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2009-12-23 17:15:31 -0500
commitc981bf5d9f269a556ae07ce1a9b36cd4813305a3 (patch)
treef8edb82f527dc8e26956ab90e6faf5e33d24a007
parent63947dcae12d25383025d57002acf73cc15fd17d (diff)
simplify config subclasses
-rw-r--r--manifests/centos.pp3
-rw-r--r--manifests/config/file.pp32
-rw-r--r--manifests/config/global.pp1
-rw-r--r--manifests/config/include.pp31
-rw-r--r--manifests/openbsd.pp3
5 files changed, 29 insertions, 41 deletions
diff --git a/manifests/centos.pp b/manifests/centos.pp
index 74a34f5..cb47adc 100644
--- a/manifests/centos.pp
+++ b/manifests/centos.pp
@@ -15,6 +15,9 @@ class apache::centos inherits apache::package {
File[config_dir]{
path => "$config_dir/conf.d",
}
+ File[include_dir]{
+ path => "$config_dir/include.d",
+ }
File[modules_dir]{
path => "$config_dir/modules.d",
}
diff --git a/manifests/config/file.pp b/manifests/config/file.pp
index 9e49c19..d72ba2e 100644
--- a/manifests/config/file.pp
+++ b/manifests/config/file.pp
@@ -2,18 +2,24 @@
# by default we assume it's a global configuration file
define apache::config::file(
$ensure = present,
+ $type = 'global',
$source = 'absent',
$content = 'absent',
$destination = 'absent'
){
+ case $type {
+ 'include': { $confdir = 'include.d' }
+ 'global': { $confdir = 'conf.d' }
+ default: { fail("Wrong config file type specified for ${name}") }
+ }
$real_destination = $destination ? {
'absent' => $operatingsystem ? {
- centos => "${apache::centos::config_dir}/conf.d/${name}",
+ centos => "${apache::centos::config_dir}/${confdir}/${name}",
gentoo => "${apache::gentoo::config_dir}/${name}",
- debian => "${apache::debian::config_dir}/conf.d/${name}",
- ubuntu => "${apache::ubuntu::config_dir}/conf.d/${name}",
- openbsd => "${apache::openbsd::config_dir}/conf.d/${name}",
- default => "/etc/apache2/${name}",
+ debian => "${apache::debian::config_dir}/${confdir}/${name}",
+ ubuntu => "${apache::ubuntu::config_dir}/${confdir}/${name}",
+ openbsd => "${apache::openbsd::config_dir}/${confdir}/${name}",
+ default => "/etc/apache2/${confdir}/${name}",
},
default => $destination
}
@@ -27,14 +33,14 @@ define apache::config::file(
'absent': {
$real_source = $source ? {
'absent' => [
- "puppet://${server}/modules/site-apache/conf.d/${fqdn}/${name}",
- "puppet://${server}/modules/site-apache/conf.d/${apache_cluster_node}/${name}",
- "puppet://${server}/modules/site-apache/conf.d/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/site-apache/conf.d/${operatingsystem}/${name}",
- "puppet://${server}/modules/site-apache/conf.d/${name}",
- "puppet://${server}/modules/apache/conf.d/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/apache/conf.d/${operatingsystem}/${name}",
- "puppet://${server}/modules/apache/conf.d/${name}"
+ "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 => "puppet://${server}/${source}",
}
diff --git a/manifests/config/global.pp b/manifests/config/global.pp
index 50e69b3..5bb075b 100644
--- a/manifests/config/global.pp
+++ b/manifests/config/global.pp
@@ -8,6 +8,7 @@ define apache::config::global(
){
apache::config::file { "${name}":
ensure => $ensure,
+ type => 'global',
source => $source,
content => $content,
destination => $destination,
diff --git a/manifests/config/include.pp b/manifests/config/include.pp
index 131363b..b58073f 100644
--- a/manifests/config/include.pp
+++ b/manifests/config/include.pp
@@ -5,36 +5,11 @@ define apache::config::include(
$content = 'absent',
$destination = 'absent'
){
- $real_destination = $destination ? {
- 'absent' => $operatingsystem ? {
- centos => "${apache::centos::config_dir}/include.d/${name}",
- gentoo => "${apache::gentoo::config_dir}/${name}",
- debian => "${apache::debian::config_dir}/include.d/${name}",
- ubuntu => "${apache::ubuntu::config_dir}/include.d/${name}",
- openbsd => "${apache::openbsd::config_dir}/include.d/${name}",
- default => "/etc/apache2/${name}",
- },
- default => $destination
- }
- if ($content == 'absent') {
- $real_source = $source ? {
- 'absent' => [
- "puppet://${server}/modules/site-apache/include.d/${fqdn}/${name}",
- "puppet://${server}/modules/site-apache/include.d/${apache_cluster_node}/${name}",
- "puppet://${server}/modules/site-apache/include.d/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/site-apache/include.d/${operatingsystem}/${name}",
- "puppet://${server}/modules/site-apache/include.d/${name}",
- "puppet://${server}/modules/apache/include.d/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/apache/include.d/${operatingsystem}/${name}",
- "puppet://${server}/modules/apache/include.d/${name}"
- ],
- default => "puppet://${server}/${source}",
- }
- }
apache::config::file { "${name}":
ensure => $ensure,
- source => $real_source,
+ type => 'include',
+ source => $source,
content => $content,
- destination => $real_destination,
+ destination => $destination,
}
}
diff --git a/manifests/openbsd.pp b/manifests/openbsd.pp
index d68688f..2cf5fd4 100644
--- a/manifests/openbsd.pp
+++ b/manifests/openbsd.pp
@@ -11,6 +11,9 @@ class apache::openbsd inherits apache::base {
File[config_dir]{
path => "$config_dir/conf.d",
}
+ File[include_dir]{
+ path => "$config_dir/include.d",
+ }
File['htpasswd_dir']{
group => www,
}