summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2012-10-21 13:11:55 +0200
committermh <mh@immerda.ch>2012-10-21 13:11:55 +0200
commited10e300520c5e92b129d3b5f503793bd4331ade (patch)
tree3bbe50cfa5502ef3ef0173fb48006c4b04a3ad65
parent682bfbb0cb1a80e86a552fe2e1411ae654c757e1 (diff)
downloadpuppet-lighttpd-ed10e300520c5e92b129d3b5f503793bd4331ade.tar.gz
puppet-lighttpd-ed10e300520c5e92b129d3b5f503793bd4331ade.tar.bz2
register additional configs
-rw-r--r--manifests/base.pp66
-rw-r--r--manifests/config/file.pp36
-rw-r--r--manifests/init.pp9
3 files changed, 68 insertions, 43 deletions
diff --git a/manifests/base.pp b/manifests/base.pp
index 33acefd..0f942a5 100644
--- a/manifests/base.pp
+++ b/manifests/base.pp
@@ -1,36 +1,50 @@
+# manages the base stuff of
+# a lighttpd server
class lighttpd::base {
package{'lighttpd':
ensure => installed,
}
- service{lighttpd:
- ensure => running,
- enable => true,
+ service{'lighttpd':
+ ensure => running,
+ enable => true,
hasstatus => true,
- require => Package[lighttpd],
+ require => Package['lighttpd'],
}
- file{'/etc/lighttpd/lighttpd.conf':
- source => [ "puppet:///modules/site_lighttpd/${::fqdn}/lighttpd.conf",
- "puppet:///modules/site_lighttpd/lighttpd.conf",
- "puppet:///modules/lighttpd/${::operatingsystem}/lighttpd.conf",
- "puppet:///modules/lighttpd/lighttpd.conf" ],
- require => Package['lighttpd'],
- notify => Service['lighttpd'],
- owner => root, group => 0, mode => 0644;
- }
-
- # ToDo: put that in a common module to share with apache
- file { 'default_lighttpd_index':
- path => '/var/www/lighttpd/index.html',
- ensure => file,
- content => template('lighttpd/default/default_index.erb'),
- owner => root, group => 0, mode => 0644;
- }
-
- file{'/etc/cron.daily/clean_lighttpd_compress':
- content => "find /var/cache/lighttpd/compress -type f -mtime +10 | xargs -r rm\n",
- require => Package['lighttpd'],
- owner => root, group => 0, mode => 0640;
+ file{
+ '/etc/lighttpd/lighttpd.conf':
+ source => [ "puppet:///modules/site_lighttpd/${::fqdn}/lighttpd.conf",
+ 'puppet:///modules/site_lighttpd/lighttpd.conf',
+ "puppet:///modules/lighttpd/${::operatingsystem}/lighttpd.conf",
+ 'puppet:///modules/lighttpd/lighttpd.conf' ],
+ require => Package['lighttpd'],
+ notify => Service['lighttpd'],
+ owner => 'root',
+ group => 0,
+ mode => '0644';
+ # ToDo: put that in a common module to share with apache
+ 'default_lighttpd_index':
+ ensure => file,
+ path => '/var/www/lighttpd/index.html',
+ content => template('lighttpd/default/default_index.erb'),
+ require => Package['lighttpd'],
+ before => Service['lighttpd'],
+ owner => 'root',
+ group => 0,
+ mode => '0644';
+ "${lighttpd::conf_dir}/config.conf":
+ ensure => file,
+ require => Package['lighttpd'],
+ before => Service['lighttpd'],
+ owner => 'root',
+ group => 0,
+ mode => '0644';
+ '/etc/cron.daily/clean_lighttpd_compress':
+ content => "find /var/cache/lighttpd/compress -type f -mtime +10 | xargs -r rm\n",
+ require => Package['lighttpd'],
+ owner => 'root',
+ group => 0,
+ mode => '0640';
}
}
diff --git a/manifests/config/file.pp b/manifests/config/file.pp
index 812a737..e03f3c0 100644
--- a/manifests/config/file.pp
+++ b/manifests/config/file.pp
@@ -4,12 +4,7 @@ define lighttpd::config::file(
$conf_source = 'absent',
$content = 'absent'
){
- $conf_dir = $::operatingsystem ? {
- debian => '/etc/lighttpd/conf-available',
- ubuntu => '/etc/lighttpd/conf-available',
- default => '/etc/lighttpd/conf.d'
- }
- file{"${conf_dir}/${name}.conf":
+ file{"${lighttpd::conf_dir_name}/${name}.conf":
ensure => $ensure,
require => Package['lighttpd'],
notify => Service['lighttpd'],
@@ -18,27 +13,34 @@ define lighttpd::config::file(
mode => '0644';
}
+ file_line{$name:
+ ensure => $ensure,
+ path => "${lighttpd::conf_dir_name}/config.conf",
+ line => "include \"${lighttpd::conf_dir_name}/${name}.conf\"",
+ notify => Service['lighttpd'],
+ }
+
case $content {
'absent': {
- File["${conf_dir}/${name}.conf"]{
+ File["${lighttpd::conf_dir_name}/${name}.conf"]{
source => $conf_source ? {
'absent' => [
- "puppet:///modules/site_lighttpd/conf.d/${::fqdn}/${name}.conf",
- "puppet:///modules/site_lighttpd/conf.d/${lighttpd::cluster_node}/${name}.conf",
- "puppet:///modules/site_lighttpd/conf.d/${::operatingsystem}.${::lsbdistcodename}/${name}.conf",
- "puppet:///modules/site_lighttpd/conf.d/${::operatingsystem}/${name}.conf",
- "puppet:///modules/site_lighttpd/conf.d/${name}.conf",
- "puppet:///modules/lighttpd/conf.d/${name}.conf",
- "puppet:///modules/lighttpd/conf.d/${::operatingsystem}.${::lsbdistcodename}/${name}.conf",
- "puppet:///modules/lighttpd/conf.d/${::operatingsystem}/${name}.conf",
- "puppet:///modules/lighttpd/conf.d/${name}.conf"
+ "puppet:///modules/site_lighttpd/${lighttpd::conf_dir_name}/${::fqdn}/${name}.conf",
+ "puppet:///modules/site_lighttpd/${lighttpd::conf_dir_name}/${lighttpd::cluster_node}/${name}.conf",
+ "puppet:///modules/site_lighttpd/${lighttpd::conf_dir_name}/${::operatingsystem}.${::lsbdistcodename}/${name}.conf",
+ "puppet:///modules/site_lighttpd/${lighttpd::conf_dir_name}/${::operatingsystem}/${name}.conf",
+ "puppet:///modules/site_lighttpd/${lighttpd::conf_dir_name}/${name}.conf",
+ "puppet:///modules/lighttpd/${lighttpd::conf_dir_name}/${name}.conf",
+ "puppet:///modules/lighttpd/${lighttpd::conf_dir_name}/${::operatingsystem}.${::lsbdistcodename}/${name}.conf",
+ "puppet:///modules/lighttpd/${lighttpd::conf_dir_name}/${::operatingsystem}/${name}.conf",
+ "puppet:///modules/lighttpd/${lighttpd::conf_dir_name}/${name}.conf"
],
default => "puppet:///${conf_source}",
}
}
}
default: {
- File["${conf_dir}/${name}.conf"]{
+ File["${lighttpd::conf_dir_name}/${name}.conf"]{
content => $content,
}
}
diff --git a/manifests/init.pp b/manifests/init.pp
index 767f89b..c4b84bd 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -7,6 +7,15 @@ class lighttpd(
$manage_munin = false,
$manage_shorewall = false
) {
+
+ $conf_dir_name = $::operatingsystem ? {
+ debian => 'conf-available',
+ ubuntu => 'conf-available',
+ default => 'conf.d'
+ }
+
+ $conf_dir = "/etc/lighttpd/${conf_dir_name}"
+
case $::operatingsystem {
debian,ubuntu: { include lighttpd::debian }
centos,redhat,fedora: { include lighttpd::centos }