# handles puppetmasterd service class puppet::master::mongrel { # 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:///modules/puppet/cron.d/puppetmaster", owner => root, group => root, mode => 0644; } }