summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2010-05-12 15:09:00 -0400
committerJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2010-05-12 15:09:00 -0400
commit1c699503c7b5929c9e2f5a6fcb11487486b46f1d (patch)
tree3c5caabc7323b9c4b3548105d8fc52f5033671de
parentf2a42cf9ffde9c6a2ac466aacf4e413d0c6197fa (diff)
refactor classes for multi-platform, place munin in seperate (optional) class, adapt to shared apache puppet module, support a config file for apache
-rw-r--r--files/mod_passenger.conf0
-rw-r--r--manifests/base.pp13
-rw-r--r--manifests/debian.pp19
-rw-r--r--manifests/init.pp40
-rw-r--r--manifests/munin.pp20
5 files changed, 59 insertions, 33 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..fdffdfa
--- /dev/null
+++ b/manifests/debian.pp
@@ -0,0 +1,19 @@
+class passenger::base::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 ba19f1f..59cdabd 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -8,40 +8,14 @@
# published by the Free Software Foundation.
class passenger {
-
- case $passenger_memory_munin_config { '':
- { $passenger_memory_munin_config = "user root\nenv.passenger_memory_stats /usr/sbin/passenger-memory-stats" }
+
+ case $operatingsystem {
+ debian: { include passenger::debian }
+ default: { include passenger::base }
}
- case $passenger_stats_munin_config { '':
- { $passenger_stats_munin_config = "user root\n" }
- }
+ if $use_munin {
+ include passenger::munin
+ }
- if !defined(Package["libapache2-mod-passenger"]) {
- if $passenger_ensure_version == '' { $passenger_ensure_version = 'installed' }
- package {
- "libapache2-mod-passenger":
- ensure => $passenger_ensure_version;
- }
- }
- if !defined(Package["librack-ruby"]) {
- if $librack_ensure_version == '' { $librack_ensure_version = 'installed' }
- package {
- "librack-ruby":
- 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;
- }
}
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;
+ }
+
+}