# This classes manage a puppet installation, and provide for a puppetd # service and a puppetmasterd service, the latter constantly updated by a # cron-job which git-pushes from '/var/git/repositories/puppet.git'. # guarantees puppet user, group and ownerships class puppet { user { "puppet": ensure => present, allowdupe => false, } group { "puppet": ensure => present, allowdupe => false, } file { "/etc/puppet": ensure => directory, owner => puppet, group => puppet, recurse => inf, require => User["puppet"], } file { "/usr/local/sbin/check-puppetd.sh": source => "puppet://$server/modules/puppet/check-puppetd.sh", owner => "puppet", group => "puppet", mode => 0755, ensure => present, } cron { "puppetd-check": command => "/usr/local/sbin/check-puppetd.sh &> /dev/null", user => root, hour => "*/1", minute => "0", require => File["/usr/local/sbin/check-puppetd.sh"], ensure => present, } }