summaryrefslogtreecommitdiff
path: root/puppet/modules/passenger/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/modules/passenger/manifests')
-rw-r--r--puppet/modules/passenger/manifests/apache.pp7
-rw-r--r--puppet/modules/passenger/manifests/apache/base.pp4
-rw-r--r--puppet/modules/passenger/manifests/apache/centos.pp24
-rw-r--r--puppet/modules/passenger/manifests/apache/debian.pp24
-rw-r--r--puppet/modules/passenger/manifests/init.pp75
-rw-r--r--puppet/modules/passenger/manifests/munin.pp20
6 files changed, 154 insertions, 0 deletions
diff --git a/puppet/modules/passenger/manifests/apache.pp b/puppet/modules/passenger/manifests/apache.pp
new file mode 100644
index 00000000..d4181ffe
--- /dev/null
+++ b/puppet/modules/passenger/manifests/apache.pp
@@ -0,0 +1,7 @@
+class passenger::apache{
+ case $operatingsystem {
+ centos: { include passenger::apache::centos }
+ debian: { include passenger::apache::debian }
+ defaults: { include passenger::apache::base }
+ }
+}
diff --git a/puppet/modules/passenger/manifests/apache/base.pp b/puppet/modules/passenger/manifests/apache/base.pp
new file mode 100644
index 00000000..441c9bd5
--- /dev/null
+++ b/puppet/modules/passenger/manifests/apache/base.pp
@@ -0,0 +1,4 @@
+class passenger::apache::base {
+ # Todo !
+ include apache
+}
diff --git a/puppet/modules/passenger/manifests/apache/centos.pp b/puppet/modules/passenger/manifests/apache/centos.pp
new file mode 100644
index 00000000..b7b80e3b
--- /dev/null
+++ b/puppet/modules/passenger/manifests/apache/centos.pp
@@ -0,0 +1,24 @@
+class passenger::apache::centos inherits passenger::apache::base {
+
+ package { 'mod_passenger':
+ ensure => installed,
+ require => Package['apache'],
+ }
+
+ file { '/var/www/passenger_buffer':
+ ensure => directory,
+ require => [ Package['apache'], Package['mod_passenger'] ],
+ owner => apache,
+ group => 0,
+ mode => '0600';
+ }
+
+ file{ '/etc/httpd/conf.d/mod_passenger_custom.conf':
+ content => "PassengerUploadBufferDir /var/www/passenger_buffer\n",
+ require => File['/var/www/passenger_buffer'],
+ notify => Service['apache'],
+ owner => root,
+ group => 0,
+ mode => '0644';
+ }
+}
diff --git a/puppet/modules/passenger/manifests/apache/debian.pp b/puppet/modules/passenger/manifests/apache/debian.pp
new file mode 100644
index 00000000..38eb3fa4
--- /dev/null
+++ b/puppet/modules/passenger/manifests/apache/debian.pp
@@ -0,0 +1,24 @@
+class passenger::apache::debian inherits passenger::apache::base {
+
+ package { 'libapache2-mod-passenger':
+ ensure => installed,
+ require => Package['apache2'],
+ }
+
+ file { '/var/www/passenger_buffer':
+ ensure => directory,
+ require => [ Package['apache2'], Package['libapache2-mod-passenger'] ],
+ owner => www-data,
+ group => 0,
+ mode => '0600';
+ }
+
+ file { '/etc/apache2/conf.d/mod_passenger_custom.conf':
+ content => "PassengerUploadBufferDir /var/www/passenger_buffer\n",
+ require => File['/var/www/passenger_buffer'],
+ notify => Service['apache2'],
+ owner => root,
+ group => 0,
+ mode => '0644';
+ }
+}
diff --git a/puppet/modules/passenger/manifests/init.pp b/puppet/modules/passenger/manifests/init.pp
new file mode 100644
index 00000000..ed9b8c31
--- /dev/null
+++ b/puppet/modules/passenger/manifests/init.pp
@@ -0,0 +1,75 @@
+# 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;
+ }
+ }
+
+}
+
diff --git a/puppet/modules/passenger/manifests/munin.pp b/puppet/modules/passenger/manifests/munin.pp
new file mode 100644
index 00000000..36bc53f2
--- /dev/null
+++ b/puppet/modules/passenger/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;
+ }
+
+}