summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2009-12-23 16:06:45 -0500
committerJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2009-12-23 16:06:45 -0500
commitd2c4bdf792815f0a0f54d717bdec619f03d984ab (patch)
treeb80bd6aa94eda96089ebb005763f9f39eb71d76c /manifests
parent9513cf4a201d0e7148aa5f0db490a29a02611b19 (diff)
introduce config::global for global configs in conf.d and config::include for vhost snippets in include.d
Diffstat (limited to 'manifests')
-rw-r--r--manifests/base.pp9
-rw-r--r--manifests/centos.pp4
-rw-r--r--manifests/config/file.pp31
-rw-r--r--manifests/config/global.pp15
-rw-r--r--manifests/config/include.pp43
-rw-r--r--manifests/includes.pp2
-rw-r--r--manifests/joomla.pp2
-rw-r--r--manifests/ssl/base.pp2
-rw-r--r--manifests/ssl/centos.pp2
-rw-r--r--manifests/status/centos.pp2
10 files changed, 88 insertions, 24 deletions
diff --git a/manifests/base.pp b/manifests/base.pp
index a6953bc..5f2bac3 100644
--- a/manifests/base.pp
+++ b/manifests/base.pp
@@ -9,6 +9,11 @@ class apache::base {
ensure => directory,
owner => root, group => 0, mode => 0755;
}
+ file{'include_dir':
+ path => '/etc/apache2/include.d',
+ ensure => directory,
+ owner => root, group => 0, mode => 0755;
+ }
file{'modules_dir':
path => '/etc/apache2/modules.d',
ensure => directory,
@@ -36,7 +41,7 @@ class apache::base {
owner => root, group => 0, mode => 0644;
}
- apache::config::file{ 'defaults.inc': }
- apache::config::file{ 'git.conf': }
+ apache::config::include{ 'defaults.inc': }
+ apache::config::global{ 'git.conf': }
apache::vhost::file { '0-default': }
}
diff --git a/manifests/centos.pp b/manifests/centos.pp
index 23c8e3c..4446114 100644
--- a/manifests/centos.pp
+++ b/manifests/centos.pp
@@ -37,7 +37,7 @@ class apache::centos inherits apache::package {
include apache::logrotate::centos
- apache::config::file{ 'welcome.conf': }
- apache::config::file{ 'vhosts.conf': }
+ apache::config::global{ 'welcome.conf': }
+ apache::config::global{ 'vhosts.conf': }
}
diff --git a/manifests/config/file.pp b/manifests/config/file.pp
index a72aacf..9e49c19 100644
--- a/manifests/config/file.pp
+++ b/manifests/config/file.pp
@@ -1,4 +1,5 @@
-# deploy apache (.conf) configuration file (non-vhost)
+# deploy apache configuration file
+# by default we assume it's a global configuration file
define apache::config::file(
$ensure = present,
$source = 'absent',
@@ -7,11 +8,11 @@ define apache::config::file(
){
$real_destination = $destination ? {
'absent' => $operatingsystem ? {
- centos => "$apache::centos::config_dir/conf.d/${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}",
+ centos => "${apache::centos::config_dir}/conf.d/${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}",
},
default => $destination
@@ -26,16 +27,16 @@ 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/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}"
],
- default => "puppet://$server/$source",
+ default => "puppet://${server}/${source}",
}
File["apache_${name}"]{
source => $real_source,
diff --git a/manifests/config/global.pp b/manifests/config/global.pp
new file mode 100644
index 0000000..50e69b3
--- /dev/null
+++ b/manifests/config/global.pp
@@ -0,0 +1,15 @@
+# deploy apache configuration file (global)
+# wrapper for apache::config::file
+define apache::config::global(
+ $ensure = present,
+ $source = 'absent',
+ $content = 'absent',
+ $destination = 'absent'
+){
+ apache::config::file { "${name}":
+ ensure => $ensure,
+ source => $source,
+ content => $content,
+ destination => $destination,
+ }
+}
diff --git a/manifests/config/include.pp b/manifests/config/include.pp
new file mode 100644
index 0000000..6ba3a86
--- /dev/null
+++ b/manifests/config/include.pp
@@ -0,0 +1,43 @@
+# deploy apache configuration file (includes for vhosts)
+define apache::config::include(
+ $ensure = present,
+ $source = 'absent',
+ $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}",
+ }
+ }
+ else {
+ $real_content = $content
+ }
+ apache::config::file { "${name}":
+ ensure => $ensure,
+ source => $real_source,
+ content => $real_content,
+ destination => $real_destination,
+ }
+}
diff --git a/manifests/includes.pp b/manifests/includes.pp
index fa31e59..02502f8 100644
--- a/manifests/includes.pp
+++ b/manifests/includes.pp
@@ -1,5 +1,5 @@
# manifests/includes.pp
class apache::includes {
- apache::config::file{'do_includes.conf':}
+ apache::config::global{'do_includes.conf':}
}
diff --git a/manifests/joomla.pp b/manifests/joomla.pp
index 02f398b..45d0b48 100644
--- a/manifests/joomla.pp
+++ b/manifests/joomla.pp
@@ -1,5 +1,5 @@
# manifests/joomla.pp
class apache::joomla {
- apache::config::file{'joomla.inc': }
+ apache::config::include{'joomla.inc': }
}
diff --git a/manifests/ssl/base.pp b/manifests/ssl/base.pp
index 72f61fd..4aabb40 100644
--- a/manifests/ssl/base.pp
+++ b/manifests/ssl/base.pp
@@ -1,4 +1,4 @@
class apache::ssl::base {
- ::apache::config::file{ 'ssl_defaults.inc': }
+ ::apache::config::include{ 'ssl_defaults.inc': }
::apache::vhost::file{ '0-default_ssl': }
}
diff --git a/manifests/ssl/centos.pp b/manifests/ssl/centos.pp
index a516f02..b2c8ad8 100644
--- a/manifests/ssl/centos.pp
+++ b/manifests/ssl/centos.pp
@@ -4,5 +4,5 @@ class apache::ssl::centos inherits apache::ssl::base {
ensure => present,
require => Package[apache],
}
- ::apache::config::file{ 'ssl.conf': }
+ ::apache::config::global{ 'ssl.conf': }
}
diff --git a/manifests/status/centos.pp b/manifests/status/centos.pp
index a7692dd..d893707 100644
--- a/manifests/status/centos.pp
+++ b/manifests/status/centos.pp
@@ -1,5 +1,5 @@
### centos
class apache::status::centos {
- ::apache::config::file{ 'status.conf': }
+ ::apache::config::global{ 'status.conf': }
}