'': {
$puppetmaster_servertype = 'mongrel'
$puppetmaster_daemon_opts = '--ssl_client_header=HTTP_X_SSL_SUBJECT'
+ include nginx::puppetmaster
}
}
"libmysql-ruby": ensure => installed;
}
- # for storeconfigs
- include mysql::server
-
file { "/etc/default/puppetmaster":
ensure => present,
owner => root,
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
ensure => present,
}
+ # for storeconfigs
+ include mysql::server
+
# Database creation as suggested by
# http://reductivelabs.com/trac/puppet/wiki/Recipes/MySQLStoredConfiguration
#exec { "create-storeconfigs-db":