puppet/puppet/manifests/init.pp

61 lines
1.5 KiB
Puppet

# Install and configure Puppet client.
#
class puppet::client {
case $operatingsystem {
openbsd: { $vardir = "/var/puppet" }
default: { $vardir = "/var/lib/puppet" }
}
case $operatingsystem {
centos,fedora: {
package { "ruby-shadow":
ensure => installed,
}
}
}
package { "puppet":
name => $operatingsystem ? {
openbsd => "ruby-puppet",
default => "puppet",
},
ensure => present,
}
file { "/etc/puppet/puppet.conf":
ensure => present,
content => template("puppet/puppet.conf.erb"),
mode => 0600,
owner => root,
group => $operatingsystem ? {
openbsd => wheel,
default => root
},
require => Package["puppet"],
notify => Service["puppet"],
}
case $operatingsystem {
openbsd: {
service { "puppet":
ensure => running,
enable => true,
binary => "/usr/local/bin/puppetd",
start => "/usr/local/bin/puppetd",
restart => "/usr/bin/pkill -HUP -f /usr/local/bin/puppetd",
pattern => puppetd,
require => Package["puppet"],
}
}
default: {
service { "puppet":
ensure => running,
enable => true,
hasrestart => true,
require => Package["puppet"],
}
}
}
}