Puppet platform documentation for PE
Puppet Enterprise (PE) is built on the Puppet platform which has several components: Puppet, Puppet Server, Facter, Hiera, and PuppetDB. This page describes each of these platform components, and links to the component docs.
Puppet is the core of our configuration management platform. It consists of a programming language for describing desired system states, an agent that can enforce desired states, and several other tools and services.
- Fundamental pieces of the Puppet language are resources, variables, conditional statements and expressions, and relationships and ordering.
- You use Classes and defined resource types to organize Puppet code into useful chunks. Classes are the main unit of Puppet code you’ll interact with on a daily basis. You can assign classes to nodes in the PE console.
- You can use facts and built-in variables as special variables in your Puppet manifests.
- Services and commands
- Built-in resource types and functions
- Important directories and files
Puppet Server is the JVM application that provides the core Puppet HTTPS services. Whenever Puppet agent checks in to request a configuration catalog for a node, it contacts Puppet Server.
Generally, PE users don’t need to directly manage Puppet Server, and the Puppet documentation describes how Puppet Server evaluates the Puppet language and loads environments and modules. For users who need to access the environment cache and JRuby pool administrative APIs, you can find background information in the rest of the Puppet Server docs.
Facter is a system profiling tool that Puppet agent uses it to send important system information to Puppet Server. Puppet Server can access that information when compiling that node’s catalog.
Hiera is a hierarchical data lookup tool. You can use it to configure your Puppet classes.
Start with About Hiera, and then use the navigation sidebar to explore the Hiera docs.
PuppetDB collects the data Puppet generates, and offers a powerful query API for analyzing that data. It’s the foundation of the PE console, and you can also use the API to build your own applications.