Puppet is a configuration management tool that is used for deploying, configuring, and managing nodes (servers).
Puppet was released by Luke Kanies in 2005. It was written in C++, and Clojure and runs on Linux, Unix, and Windows. The current version is 5.5.3 and was released in July 2018. Puppet as a software falls into the infrastructure as code category, which means that you configure and make changes using code and configuration files. Puppet uses manifest files to help configure nodes/servers (we'll learn more about this in a later section).
Puppet uses a pull configuration (master and slave) architecture in which the nodes (Puppet agent) poll the master server for configuration files and changes. There is a four-step life cycle in this master/slave process:
- The node sends facts about itself to the master server.
- The master server uses these facts to compile a catalog as to how the node should be configured. It then sends the catalog back to the node.
- The node uses the...