diff options
Diffstat (limited to 'manifests/puppetmasterd.pp')
-rw-r--r-- | manifests/puppetmasterd.pp | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/manifests/puppetmasterd.pp b/manifests/puppetmasterd.pp index ce5195e..de9d8cc 100644 --- a/manifests/puppetmasterd.pp +++ b/manifests/puppetmasterd.pp @@ -6,6 +6,7 @@ class puppetmasterd { '': { $puppetmaster_servertype = 'mongrel' $puppetmaster_daemon_opts = '--ssl_client_header=HTTP_X_SSL_SUBJECT' + include nginx::puppetmaster } } @@ -30,9 +31,6 @@ class puppetmasterd { "libmysql-ruby": ensure => installed; } - # for storeconfigs - include mysql::server - file { "/etc/default/puppetmaster": ensure => present, owner => root, @@ -42,11 +40,37 @@ class puppetmasterd { notify => Service['puppetmaster'], } - service { "puppetmaster": - enable => true, - ensure => running, - hasrestart => true, - require => Package['puppetmaster'], + if $puppetmaster_servertype == 'mongrel' { + if !defined(Package["mongrel"]) { + package { "mongrel": + ensure => installed, + } + } + + service { "puppetmaster": + enable => true, + ensure => running, + hasrestart => true, + require => Package['puppetmaster'], Package['mongrel'], + } + + nginx::puppetmaster::proxy{ "puppet.$domain": + $worker_processes => 4, + $worker_connections => 1024, + $ssl_port => 8140, + $non_ssl_port => 8141 + $puppetmaster_servers => [ "127.0.0.1:18140", + "127.0.0.1:18141", + "127.0.0.1:18142", + "127.0.0.1:18143", ], + } + } else { + service { "puppetmaster": + enable => true, + ensure => running, + hasrestart => true, + require => Package['puppetmaster'], + } } # cron rule to update puppet config repository every 5 minutes @@ -76,6 +100,9 @@ class puppetmasterd { ensure => present, } + # for storeconfigs + include mysql::server + # Database creation as suggested by # http://reductivelabs.com/trac/puppet/wiki/Recipes/MySQLStoredConfiguration #exec { "create-storeconfigs-db": |