# passenger module # # Copyright 2010, Riseup Networks # Micah Anderson micah(at)riseup.net # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 3 as # published by the Free Software Foundation. class passenger ( $use_gems = false, $manage_munin = false, $passenger_ensure_version = 'installed', $librack_ensure_version = 'installed', $passenger_bin_path = '/usr/sbin' ) { Class['::apache'] -> Class['passenger'] if ! $use_gems { apache::module { 'passenger': ensure => $passenger_ensure_version, package_name => 'libapache2-mod-passenger'; } if !defined(Package['librack-ruby']) { if $::lsbdistcodename == 'squeeze' { package { 'librack-ruby1.8': ensure => $librack_ensure_version } } else { package { 'ruby-rack': ensure => $librack_ensure_version; } } } } else { package { 'passenger': ensure => $passenger_ensure_version, provider => gem; 'rack': ensure => $librack_ensure_version, provider => gem; } } apache::config::file { 'mod_passenger': ensure => present, source => [ "puppet:///modules/site_passenger/${::fqdn}/mod_passenger.conf", 'puppet:///modules/site_passenger/mod_passenger.conf', 'puppet:///modules/passenger/mod_passenger.conf', ], } if $manage_munin { if $passenger_memory_munin_config == '' { $passenger_memory_munin_config = "user root\nenv.passenger_memory_stats ${passenger_bin_path}/passenger-memory-stats" } if $passenger_stats_munin_config == '' { $passenger_stats_munin_config = "user root\nenv.passenger_status ${passenger_bin_path}/passenger-status" } 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; } } }