From d2c4bdf792815f0a0f54d717bdec619f03d984ab Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Wed, 23 Dec 2009 16:06:45 -0500 Subject: introduce config::global for global configs in conf.d and config::include for vhost snippets in include.d --- manifests/config/file.pp | 31 ++++++++++++++++--------------- manifests/config/global.pp | 15 +++++++++++++++ manifests/config/include.pp | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 15 deletions(-) create mode 100644 manifests/config/global.pp create mode 100644 manifests/config/include.pp (limited to 'manifests/config') 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, + } +} -- cgit v1.2.3