# 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'] ], } # restart the master from time to time to avoid memory problems # thanks to https://labs.riseup.net/code/projects/shared-puppet file { "/etc/cron.d/puppetmaster": source => "puppet://$server/modules/puppet/cron.d/puppetmaster", owner => root, group => root, mode => 0644; } } class puppet::master::mongrel::disabled { include nginx::puppetmaster::disabled Service['puppetmaster'] { ensure => stopped, } Package['puppetmaster'] { enable => false, ensure => absent, } File['/etc/cron.d/puppetmaster'] ensure => absent, } }