Puppet
From wikinotes
Puppet is an entirely cross-platform system-configuration synchronization tool.
It can be used for both config files, and to install programs. Tools to download/install
software are abstracted, so the same recipe can be used on BSD,Linux,OSX, and Windows. Very sexy.
Puppet is comprised of 2 components:
- puppet agent is installed on every server managed by puppet. It receives updates.
- puppet master is the server component. It pushes updates to the agents.
Install
Linux
FreeBSD
/usr/local/etc/puppet/puppet.confmain puppet config /var/puppet/sslpuppet SSL certificates Base Install
sudo pkg install puppet4 #### /etc/rc.conf puppet_enable="YES" puppetmaster_enable="YES" #### puppet help | tail -n 1 ## Check puppet's release version (keep consistent across all platforms) sudo pkg lock puppet4 ## ignore future updates to puppet
Config
SSL certs
Make sure to configure and install NTP. We're using SSL certs, and if the time is incorrect, certificates will be rejected.
sudo puppet master --verbose --no-daemonize ## Create SSL certs sudo puppet cert list -all ## Confirm SSL cert creation
Configuration
Puppet Consists of 2 programs( master, agent), a central config file(for master and agent) , and manifests( recipes )
sudo touch /usr/local/etc/puppet/manifests/site.pp ## create a manifest sudo puppet master ## start puppetmaster daemon #### /usr/local/etc/puppet/puppet.conf [agent] server = 127.0.0.1 #### sudo service puppet start