class base::puppet::client {
package {
"puppet":
ensure => installed;
"facter":
notify => Service["puppet"],
ensure => latest;
}
file {
"/etc/puppet/puppet.conf":
owner => root,
group => root,
content => template("base/templates/puppet_client.conf.erb"),
notify => Service["puppet"];
"/etc/puppet/namespaceauth.conf":
owner => root,
group => root,
content => template("base/templates/puppet_namespaceauth_client.conf.erb"),
notify => Service["puppet"];
"/etc/sysconfig/puppet":
owner => root,
group => root,
content => template("base/templates/sysconfig_puppet"),
notify => Service["puppet"];
"/tmp/puppet_check.out":
owner => root,
group => root,
backup => false,
content => template("base/templates/puppet_check.erb");
}
service {
"puppet":
ensure => running,
enable => true,
hasrestart => true,
subscribe => [ File["/etc/sysconfig/puppet"] , File["/etc/puppet/puppet.conf"]];
}
}