From 177097af548141e26a7738073710a2acfa0fa170 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Mon, 9 Apr 2012 11:17:45 -0400 Subject: switch to parameterized class, and allow for gem based installation of passenger --- manifests/init.pp | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 59cdabd..af34c5b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -7,15 +7,57 @@ # it under the terms of the GNU General Public License version 3 as # published by the Free Software Foundation. -class passenger { +class passenger ( $use_gems = false, $use_munin = true ) +{ + + if $passenger_ensure_version == '' { $passenger_ensure_version = 'installed' } + if $librack_ensure_version == '' { $librack_ensure_version = 'installed' } + + if ! $use_gems { + if !defined(Package["libapache2-mod-passenger"]) { + package { + "libapache2-mod-passenger": + ensure => $passenger_ensure_version; + } + } + if !defined(Package["librack-ruby"]) { + package { + [ "librack-ruby", "librack-ruby1.8"] : + ensure => $librack_ensure_version; + } + } + else { + package { + "passenger": + provider => gem, + ensure => $passenger_ensure_version; + "rack": + provider => gem, + ensure => $librack_ensure_version; + } + } + } - case $operatingsystem { - debian: { include passenger::debian } - default: { include passenger::base } + apache2::module { + "passenger": ensure => present, require_package => "libapache2-mod-passenger"; } if $use_munin { - include 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