summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2013-01-18 18:54:14 -0200
committerSilvio Rhatto <rhatto@riseup.net>2013-01-18 18:54:14 -0200
commit0c0720ebfeb9aa3b7653b4b9b94d04634c9e3c30 (patch)
treeff320ff025daba4c33ec0fda1a7929dabefd3a99 /manifests
parent9cca869888cb1d2eee6b9ca6e6e735993b04cd6f (diff)
downloadpuppet-puppet-0c0720ebfeb9aa3b7653b4b9b94d04634c9e3c30.tar.gz
puppet-puppet-0c0720ebfeb9aa3b7653b4b9b94d04634c9e3c30.tar.bz2
Adding passenger support
Diffstat (limited to 'manifests')
-rw-r--r--manifests/master/mongrel.pp44
-rw-r--r--manifests/master/passenger.pp15
-rw-r--r--manifests/puppetmasterd.pp60
3 files changed, 82 insertions, 37 deletions
diff --git a/manifests/master/mongrel.pp b/manifests/master/mongrel.pp
new file mode 100644
index 0000000..eb96247
--- /dev/null
+++ b/manifests/master/mongrel.pp
@@ -0,0 +1,44 @@
+# handles puppetmasterd service
+class puppet::master::mongrel {
+
+ case $puppetmaster_puppetmasters {
+ '': { $puppetmaster_puppetmasters = '4' }
+ }
+
+ case $puppetmaster_port {
+ '': { $puppetmaster_port = '18140' }
+ }
+
+ # Include nginx
+ include nginx::puppetmaster
+
+ case defined(Package["mongrel"]) {
+ false: { package { "mongrel": ensure => installed, } }
+ }
+
+ package { "puppetmaster":
+ ensure => installed,
+ }
+
+ service { "puppetmaster":
+ enable => true,
+ ensure => running,
+ hasrestart => true,
+ pattern => 'puppet master',
+ require => [ Package['puppetmaster'], Package['mongrel'], Service['nginx'] ],
+ }
+
+}
+
+class puppet::master::mongrel::disabled {
+ include nginx::puppetmaster::disabled
+
+ Service['puppetmaster'] {
+ ensure => stopped,
+ }
+
+ Package['puppetmaster'] {
+ enable => false,
+ ensure => absent,
+ }
+}
diff --git a/manifests/master/passenger.pp b/manifests/master/passenger.pp
new file mode 100644
index 0000000..38d3c97
--- /dev/null
+++ b/manifests/master/passenger.pp
@@ -0,0 +1,15 @@
+# handles puppetmasterd service
+class puppet::master::passenger {
+ # make sure we're not running mongrel
+ include puppet::master::mongrel::disabled
+
+ # then include puppet class
+ include puppetd
+
+ # include passenger
+ include apache::passenger
+
+ package { 'puppetmaster-passenger':
+ ensure => installed,
+ }
+}
diff --git a/manifests/puppetmasterd.pp b/manifests/puppetmasterd.pp
index f542f1f..37a95ff 100644
--- a/manifests/puppetmasterd.pp
+++ b/manifests/puppetmasterd.pp
@@ -3,18 +3,14 @@ class puppetmasterd {
# Configuration
case $puppetmaster_servertype {
- '': {
+ 'mongrel': {
$puppetmaster_servertype = 'mongrel'
$puppetmaster_daemon_opts = '--ssl_client_header=HTTP_X_SSL_SUBJECT'
}
- }
-
- case $puppetmaster_puppetmasters {
- '': { $puppetmaster_puppetmasters = '4' }
- }
-
- case $puppetmaster_port {
- '': { $puppetmaster_port = '18140' }
+ '' {
+ $puppetmaster_servertype = 'passenger'
+ $puppetmaster_daemon_opts = ''
+ }
}
# Use this option if you want puppet to manage the certificates for all
@@ -39,11 +35,28 @@ class puppetmasterd {
# needed packages
package {
- "puppetmaster": ensure => installed;
"sqlite3": ensure => installed;
"libmysql-ruby": ensure => installed;
}
+ case $puppetmaster_servertype {
+ 'mongrel': {
+ include puppet::master::mongrel
+ }
+ 'passenger': {
+ include puppet::master::passenger
+ }
+ default: {
+ service { "puppetmaster":
+ enable => true,
+ ensure => running,
+ hasrestart => true,
+ pattern => 'puppet master',
+ require => Package['puppetmaster'],
+ }
+ }
+ }
+
file { "/etc/default/puppetmaster":
ensure => present,
owner => root,
@@ -75,33 +88,6 @@ class puppetmasterd {
require => User["puppet"],
}
- case $puppetmaster_servertype {
- 'mongrel': {
- include nginx::puppetmaster
-
- case defined(Package["mongrel"]) {
- false: { package { "mongrel": ensure => installed, } }
- }
-
- service { "puppetmaster":
- enable => true,
- ensure => running,
- hasrestart => true,
- pattern => 'puppet master',
- require => [ Package['puppetmaster'], Package['mongrel'], Service['nginx'] ],
- }
- }
- default: {
- service { "puppetmaster":
- enable => true,
- ensure => running,
- hasrestart => true,
- pattern => 'puppet master',
- require => Package['puppetmaster'],
- }
- }
- }
-
# cron rule to update puppet config repository every 5 minutes
cron { "puppet-update":
command => "/usr/local/sbin/update-puppet-conf.sh > /dev/null 2>&1",