diff options
-rw-r--r-- | files/mod_passenger.conf | 0 | ||||
-rw-r--r-- | manifests/base.pp | 13 | ||||
-rw-r--r-- | manifests/debian.pp | 19 | ||||
-rw-r--r-- | manifests/init.pp | 72 | ||||
-rw-r--r-- | manifests/munin.pp | 20 |
5 files changed, 96 insertions, 28 deletions
diff --git a/files/mod_passenger.conf b/files/mod_passenger.conf new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/files/mod_passenger.conf 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..f351111 --- /dev/null +++ b/manifests/debian.pp @@ -0,0 +1,19 @@ +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 56f933e..af34c5b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -7,41 +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 ) +{ - 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" } - } + if $passenger_ensure_version == '' { $passenger_ensure_version = 'installed' } + if $librack_ensure_version == '' { $librack_ensure_version = 'installed' } - if !defined(Package["libapache2-mod-passenger"]) { - if $passenger_ensure_version == '' { $passenger_ensure_version = 'installed' } - package { - "libapache2-mod-passenger": - ensure => $passenger_ensure_version; + if ! $use_gems { + if !defined(Package["libapache2-mod-passenger"]) { + package { + "libapache2-mod-passenger": + ensure => $passenger_ensure_version; + } } - } - if !defined(Package["librack-ruby"]) { - if $librack_ensure_version == '' { $librack_ensure_version = 'installed' } - package { - [ "librack-ruby", "librack-ruby1.8"] : - ensure => $librack_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; + } } } - + 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; + + if $use_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; + } } } 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; + } + +} |