Book Image

Extending Puppet

By : Alessandro Franceschi
Book Image

Extending Puppet

By: Alessandro Franceschi

Overview of this book

Table of Contents (21 chapters)
Extending Puppet
About the Author
About the Reviewers

Anatomy of a Puppet run, under the hood

We have seen the output of a Puppet run in Chapter 1, Puppet Essentials. Now, let's explore what happens behind these messages.

We can identify the following stages that turn our Puppet code into a catalog that is applied on clients:

  • Parsing and compiling: In this phase, the Puppet manifests are fed to the Puppet::Parser class, which does basic syntax checks and produces an Abstract Syntax Tree (AST) object. This represents the same objects we have defined in our manifests in a machine-friendly format. Both the facts received from the client and the AST are passed to the compiler. The facts and manifests are interpreted, and the result is converted into a tree of transportable objects, that is, the resource catalog (commonly called catalog). This phase happens on the server, unless we use the puppet apply command.

  • Transport: In this phase, the Master serializes the catalog in the PSON format (a Puppet version of JSON) and sends it over HTTPS to the...