Chapter 1. Puppet Essentials
There are moments in our professional life when we meet technologies that trigger an inner wow effect. We realize there's something special in them and we start to wonder how they can be useful for our current needs and, eventually, wider projects. Puppet, for me, has been one of these turning point technologies. I have reason to think that we might share a similar feeling.
If you are new to Puppet, you are probably starting from the wrong place, there are better fitting titles around to grasp its basic concepts.
This book won't indulge too much on the fundamentals, but don't despair, this chapter might help for a quick start. It provides the basic Puppet background needed to understand the rest of the contents and may also offer valuable information to more experienced users.
We are going to review the following topics:
- The Puppet ecosystem, its components, history, and the basic concepts behind configuration management
- How to install and configure Puppet commands and paths, to understand where things are placed
- The core components and concepts; terms such as manifests, resources, nodes, and classes will become familiar
- The main language elements—variables, references, resources defaults, ordering, conditionals, comparison operators, virtual and exported resources
- How Puppet stores the changes it makes and how to revert them
The contents of this chapter are quite dense, so take your time to review and assimilate them if they sound new or look too complex; the path towards Puppet awareness is never too easy.