From Puppet web site:
- Puppet is IT automation software that helps system administrators manage infrastructure throughout its lifecycle, from provisioning and configuration to patch management and compliance. Using Puppet, you can easily automate repetitive tasks, quickly deploy critical applications, and proactively manage change, scaling from 10s of servers to 1000s, on-premise or in the cloud.
Puppet packages are available in AUR. Install either puppet or puppet-git. The maintainer of the puppet AUR packages is not interested in shipping patches to minimize work as well as avoid confusion as to where bugs should go. So I will collect my patches here.
Puppet's main configuration file is puppet.conf which is located at
You have 3 options to place settings depending if it is a master/agent
Bare minimum of settings are:
- server: The hostname of the puppet server. Default = puppet
- report: Most users should set this to true.
- pluginsync: Most users should set this to true.
- certname: The certified name of the machine (unique identifier) default = fqdn
Puppet will look for node configuration in
After starting puppet by daemon/cron/standalone, it will generate
And you need to accept this certificaten the puppet master with:
sudo puppet cert sign <name>.
Facter is a companion program of puppet that gathers facts about the system it runs on.
# puppet facts find facter
# facter -p
Install it from aur with: ruby-facter. Facter requires both
ifconfig as well as
ip to gather network related facts.
With facter 1.7.0 the new
ifconfig in arch will give proper output
to IP adresses,
but netmask/mtu are still a problem.
Netmask has been adressed on github version of facter.
"Pacman" is supported by puppet. Installing packages works out of the box since puppet 3.1.0.
If you want to enable the "storeconfig" option in /etc/puppet/puppet.conf you will also need this patch:
diff -urN puppet-3.1.1-orig/lib/puppet/rails/resource.rb puppet-3.1.1/lib/puppet/rails/resource.rb --- puppet-3.1.1-orig/lib/puppet/rails/resource.rb 2013-03-13 20:53:21.766846140 +0100 +++ puppet-3.1.1/lib/puppet/rails/resource.rb 2013-03-13 21:01:07.337490296 +0100 @@ -84,7 +86,11 @@ end def (param) - super || parameter(param) + if param == 'id' + super + else + super || parameter(param) + end end # Make sure this resource is equivalent to the provided Parser resource.
Apply in the same place.
Before you apply above patch read this:using_stored_configuration
But puppetdb is in aur which basically is an improved version of stored_config.
- Puppet Dashboard - Software based on or using puppet in this wiki.