• Overview
  • Release notes
  • Puppet platform documentation
  • Quick start guides
  • Managing Windows nodes
  • Installing
  • Upgrading
  • Migrating
  • Configuring PE
  • Monitoring infrastructure state
  • Managing nodes
  • Managing access
  • Managing applications
  • Enforcing change with Puppet orchestrator
  • Managing and deploying Puppet code
  • Provisioning with Razor
  • SSL and certificates
  • APIs
  • Managing MCollective
  • Maintenance
  • Troubleshooting
  • Appendix

An overview of PE's platform documentation

This version is out of date. For current versions, see Puppet Enterprise support lifecycle.

Puppet Enterprise is built on the Puppet configuration management platform. This platform has several components, and the most important ones are:

This page describes the components of our platform, and links to the correct component docs for this PE version.


Puppet is the core of our configuration management platform. It consists of a special 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 manual; the Puppet 4.10 reference manual is a separate section of our docs site. Once you’ve followed a link there, you can use the navigation sidebar to browse other sections of the manual.

Note: The Puppet manual has information about installing the open source release of Puppet. As a PE user, you should ignore those pages.

The following pages are good starting points for getting familiar with Puppet:



Services and commands

Built-in resource types and functions

Important directories and files

  • Most of your Puppet content goes in environments. Find out more about environments here.
  • The codedir contains code and data and the confdir contains config files. The modulepath and the main manifest both depend on the current environment.


  • Puppet’s main config file is /etc/puppetlabs/puppet/puppet.conf. Learn more about Puppet’s settings, and about puppet.conf itself.
  • There are also a bunch of other config files used for special purposes. Go to the page about puppet.conf and check the navigation sidebar for a full list.

Puppet server

Puppet Server is the JVM application that provides Puppet’s core HTTPS services. Whenever Puppet agent checks in to request a configuration catalog for a node, it contacts Puppet Server.

For the most part, PE users don’t need to directly manage Puppet Server, and the Puppet reference manual (above) has all the important info about how Puppet Server evaluates the Puppet language and loads environments and modules. However, some users might need to access the environment cache and JRuby pool administrative APIs, and there’s lots of interesting background information in the rest of the Puppet Server docs.

Note: The Puppet Server manual has information about installing the open source release of Puppet Server. As a PE user, you should ignore those pages. Additionally, Puppet Server’s config files in PE are managed with a built-in Puppet module; to change most settings, you should set the appropriate class parameters in the PE console.


Facter is a system profiling tool. Puppet agent uses it to send important system info to Puppet Server, which can access that info when compiling that node’s catalog.


Hiera is a hierarchical data lookup tool. You can use it to configure your Puppet classes.

Start with the overview and use the navigation sidebar to get around.


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 be using the query API.

  • The query tutorial page walks you through the process of building and executing a query.
  • The query structure page explains the fundamentals of using the query API.
  • The cURL tips page has useful information about testing the API from the command line.
  • You can use the navigation sidebar to browse the rest of the query API docs.

Note: The PuppetDB manual has information about installing the open source release of PuppetDB. As a PE user, you should ignore those pages.

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.