summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2012-04-09 11:17:45 -0400
committerMicah Anderson <micah@riseup.net>2012-04-09 11:17:45 -0400
commit177097af548141e26a7738073710a2acfa0fa170 (patch)
treeffe7b9cb27a0608cb542880fe821eb1c94bd2a60
parent9820bf2428a6fe3dbd0f361e5679991d263b73af (diff)
switch to parameterized class, and allow for gem based installation of passenger
-rw-r--r--manifests/init.pp54
1 files 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;
+ }
+ }
}