From 1c699503c7b5929c9e2f5a6fcb11487486b46f1d Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Wed, 12 May 2010 15:09:00 -0400 Subject: refactor classes for multi-platform, place munin in seperate (optional) class, adapt to shared apache puppet module, support a config file for apache --- files/mod_passenger.conf | 0 manifests/base.pp | 13 +++++++++++++ manifests/debian.pp | 19 +++++++++++++++++++ manifests/init.pp | 40 +++++++--------------------------------- manifests/munin.pp | 20 ++++++++++++++++++++ 5 files changed, 59 insertions(+), 33 deletions(-) create mode 100644 files/mod_passenger.conf create mode 100644 manifests/base.pp create mode 100644 manifests/debian.pp create mode 100644 manifests/munin.pp diff --git a/files/mod_passenger.conf b/files/mod_passenger.conf new file mode 100644 index 0000000..e69de29 diff --git a/manifests/base.pp b/manifests/base.pp new file mode 100644 index 0000000..34ef976 --- /dev/null +++ b/manifests/base.pp @@ -0,0 +1,13 @@ +class passenger::base { + + include apache + + apache::config::file { 'mod_passenger': + ensure => present, + source => [ "puppet://${server}/modules/site-passenger/${fqdn}/mod_passenger.conf", + "puppet://${server}/modules/site-passenger/mod_passenger.conf", + "puppet://${server}/modules/passenger/mod_passenger.conf", + ], + } + +} diff --git a/manifests/debian.pp b/manifests/debian.pp new file mode 100644 index 0000000..fdffdfa --- /dev/null +++ b/manifests/debian.pp @@ -0,0 +1,19 @@ +class passenger::base::debian inherits passenger::base { + + if !defined(Package["libapache2-mod-passenger"]) { + if $passenger_ensure_version == '' { $passenger_ensure_version = 'installed' } + apache::debian::module { 'passenger': + ensure => $passenger_ensure_version, + package_name => 'libapache2-mod-passenger'; + } + } + + if !defined(Package["librack-ruby"]) { + if $librack_ensure_version == '' { $librack_ensure_version = 'installed' } + package { + "librack-ruby": + ensure => $librack_ensure_version; + } + } + +} diff --git a/manifests/init.pp b/manifests/init.pp index ba19f1f..59cdabd 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -8,40 +8,14 @@ # published by the Free Software Foundation. class passenger { - - case $passenger_memory_munin_config { '': - { $passenger_memory_munin_config = "user root\nenv.passenger_memory_stats /usr/sbin/passenger-memory-stats" } + + case $operatingsystem { + debian: { include passenger::debian } + default: { include passenger::base } } - case $passenger_stats_munin_config { '': - { $passenger_stats_munin_config = "user root\n" } - } + if $use_munin { + include passenger::munin + } - if !defined(Package["libapache2-mod-passenger"]) { - if $passenger_ensure_version == '' { $passenger_ensure_version = 'installed' } - package { - "libapache2-mod-passenger": - ensure => $passenger_ensure_version; - } - } - if !defined(Package["librack-ruby"]) { - if $librack_ensure_version == '' { $librack_ensure_version = 'installed' } - package { - "librack-ruby": - ensure => $librack_ensure_version; - } - } - - apache2::module { - "passenger": ensure => present, require_package => "libapache2-mod-passenger"; - } - - munin::plugin::deploy { - 'passenger_memory_stats': - source => "passenger/munin/passenger_memory_stats", - config => $passenger_memory_munin_config; - 'passenger_stats': - source => "passenger/munin/passenger_stats", - config => $passenger_stats_munin_config; - } } diff --git a/manifests/munin.pp b/manifests/munin.pp new file mode 100644 index 0000000..9b6cc68 --- /dev/null +++ b/manifests/munin.pp @@ -0,0 +1,20 @@ +class passenger::munin { + + case $passenger_memory_munin_config { '': + { $passenger_memory_munin_config = "user root\nenv.passenger_memory_stats /usr/sbin/passenger-memory-stats" } + } + + case $passenger_stats_munin_config { '': + { $passenger_stats_munin_config = "user root\n" } + } + + munin::plugin::deploy { + 'passenger_memory_stats': + source => "passenger/munin/passenger_memory_stats", + config => $passenger_memory_munin_config; + 'passenger_stats': + source => "passenger/munin/passenger_stats", + config => $passenger_stats_munin_config; + } + +} -- cgit v1.2.3