diff options
Diffstat (limited to 'manifests/init.pp')
-rw-r--r-- | manifests/init.pp | 60 |
1 files changed, 53 insertions, 7 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 59cdabd..22be7cf 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -7,15 +7,61 @@ # it under the terms of the GNU General Public License version 3 as # published by the Free Software Foundation. -class passenger { - - case $operatingsystem { - debian: { include passenger::debian } - default: { include passenger::base } +class passenger ( + $use_gems = false, $use_munin = true, + $passenger_ensure_version = 'installed', + $librack_ensure_version = 'installed' ) +{ + + if ! $use_gems { + class { 'apache::module': + module => 'passenger', + ensure => $passenger_ensure_version, + package_name => 'libapache2-mod-passenger'; + } + + 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; + } + } + + 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", + ], } 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; + } + } } |