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.

Right now, you’re reading the PE documentation, which is separate from the Puppet documentation. Use the navigation sidebar to navigate the documentation.

Important: The Puppet documentation has information about installing the open source release of Puppet. PE users can ignore those pages.
These are good starting points for getting familiar with Puppet:
Services and commands
Built-in resource types and functions
Important directories and files

Puppet Server

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.

Note: The Puppet Server documentation has information about installing the open source release of Puppet Server. PE users can ignore those pages. Additionally, a built-in Puppet module manages the Puppet Server config files; to change most settings, you can set the appropriate class parameters in the console.


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.

Note: Hiera 5 is a backwards-compatible evolution of Hiera, which is built into Puppet. To provide some backwards-compatible features, it uses the classic Hiera 3 codebase. This means “Hiera” is still version 3.x, even though this Puppet Enterprise version uses Hiera 5.


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.

If you’re interacting with PuppetDB directly, you’ll mostly use the query API. Here are some resources to get you started:
  • The API query tutorial walks you through building and executing a query.
  • The Query structure page explains the fundamentals of using the query API.
  • The API curl tips page has useful information about testing the API from the command line.
Important: The PuppetDB documentation has information about installing the open source release of PuppetDB. PE user can ignore those pages.