diff options
-rw-r--r-- | manifests/base.pp | 13 | ||||
-rw-r--r-- | manifests/debian.pp | 19 | ||||
-rw-r--r-- | manifests/init.pp | 60 |
3 files changed, 53 insertions, 39 deletions
diff --git a/manifests/base.pp b/manifests/base.pp deleted file mode 100644 index 34ef976..0000000 --- a/manifests/base.pp +++ /dev/null @@ -1,13 +0,0 @@ -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 deleted file mode 100644 index f351111..0000000 --- a/manifests/debian.pp +++ /dev/null @@ -1,19 +0,0 @@ -class passenger::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 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; + } + } } |