Install the puppet agent and performs a puppet run
What is Puppet?
Puppet is an open source systems management tool for centralizing and automating configuration management.
This box installs Puppet agent that connects with a puppet master and runs the modules and manifests retrieved from the master.
**Puppet-Agent — This package contains Puppet’s main code and all of the dependencies needed to run it, including Facter, Hiera, and bundled versions of Ruby and OpenSSL. It also includes MCollective. Once it’s installed, you have everything you need to run the Puppet agent service and the puppet apply command.
puppetserver — This package depends on puppet-agent, and adds the JVM-based Puppet Server application. Once it’s installed, Puppet Server can serve catalogs to nodes running the Puppet agent service.
An instance executing this box will use bash scripting to download, install and configure a Puppet agent and do a puppet run of the required modules retrieved from the puppet master server (binding master - selected instance at deployment time), according to the puppet agent instance's name and the classes in the master. This box is intended to be used in an Agent/Master setup which consists of a central Puppet Master server, where all the configuration data (modules and manifests) will be managed and distributed from, and all your remaining instances will be Puppet Agent nodes, which can be configured by the puppet master server.
Box events handle the Puppet Agent instance lifecycle as follows:
pre_install event script: downloads and installs the correct release of puppet agent in the instance.
pre_configure event script: downloads and configures puppet.conf and facter.sh with the variables's values and saves them into their default location: /etc/puppet/ and /etc/facter/facts.d/, and change facter.sh permissions allowing to be executed. Starts puppet agent to run the modules, manifests obtained from the puppet master having available all the box's variables injected by the facter.sh in the puppet's environment.
This deployment supports these Linux distributions:
Amazon Linux AMI 2015.03
Centos 6.5, 7
Ubuntu 12.04, 14.04