Docs: Puppet Labs Documentation

Puppet Labs Documentation

Welcome to the Puppet Labs documentation site. You can download the current version of this entire website as a zipped archive; unzip it and follow the instructions in the README.txt file to view the site offline.

Puppet Enterprise

Puppet Enterprise is a complete configuration management platform, with an optimized set of components proven to work well together. It combines Puppet (including a preconfigured production-grade puppet master stack), a web console for analyzing reports and controlling your infrastructure, powerful orchestration features, cloud provisioning tools, and professional support.

Nearly all of the main Puppet and MCollective documentation also applies to Puppet Enterprise. For details about PE’s configuration:

The current version of PE is 3.7. Documentation for previous versions can be found here.


Puppet manages your servers: you describe machine configurations in an easy-to-read declarative language, and Puppet will bring your systems into the desired state and keep them there.

See the index for Puppet’s documentation here, or go directly to one of the most popular pages:


MCollective is a powerful orchestration framework. Run actions on thousands of servers simultaneously, using existing plugins or writing your own.

See the MCollective docs index, or go directly to:

Note: MCollective is included with Puppet Enterprise.


PuppetDB is the fast, scalable, and reliable data warehouse for Puppet. It caches data generated by Puppet, and gives you advanced features at awesome speed with a powerful API.

See the manual for the latest version of PuppetDB, or go directly to:

Documentation for other versions of PuppetDB can be found here.


Hiera is a key/value lookup tool for configuration data, built to make Puppet better and let you set node-specific data without repeating yourself. Hiera support is built into Puppet 3, and is available as an add-on for Puppet 2.7.

See the Hiera 1 manual, or go directly to:


Facter is Puppet’s cross-platform system profiling library. It discovers and reports per-node facts, which are available in your Puppet manifests as variables.


Geppetto is an integrated development environment (IDE) for Puppet. It provides a toolset for developing puppet modules and manifests that includes syntax highlighting, error tracing/debugging, and code completion features. Geppetto also adds PE integration by parsing PuppetDB error reporting. This allows you to quickly find the problems with your puppet code that are causing configuration failures.

Puppet Forge

The Puppet Forge is where you go to get pre-made modules created by Puppet Labs and the Puppet community. Modules on the Forge cover everything from NTP and Registry to Apache and PostgreSQL, and make it easy to instal, configure, and manage all kinds of technology with Puppet. You can access the Forge online or through the Puppet module tool, which is your in-Puppet way of interfacing with the Forge from the command line.


Razor is an advanced provisioning application that can deploy both bare metal and virtual systems. For information about the Razor integration with PE, see Bare Metal Provisioning with Razor.

Razor is also available as an open source project. See the Razor wiki for further information.


Puppet has a large community and many resources for users.

Background Information

We occasionally publish articles about foundational technologies and practices. These are not tied to any specific Puppet Labs’ product, but we believe many of our users will either need to or want to be familiar with them.

  • SSL and Related Topics — If you’re wondering what a certificate or a CA is, read this. In five short articles, we explain the basics of the security technologies Puppet relies upon.

Help Improve This Site

These documents belong to the community and are licensed under the Creative Commons. You can help improve them!

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

For suggestions or minor corrections, just email To contribute text or make larger-scale suggestions, see the instructions for contributing. If you would like to submit your own content, you can fork the project on github, make changes, and send us a pull request. See the README files in the project for more information about how to generate and view a copy of the website.

Documentation Version

This release of the documentation was generated from revision 36de347eea50e8c91a32841d309e55bf67a00182 of the puppet-docs Git repo on April 17, 2015.

↑ Back to top