Puppet Labs Documentation
Welcome to the Puppet Labs documentation site. The documentation posted here is also available as a set of PDFs, which can be found here. You can also 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
Puppet manages your servers: 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:
- The Learning Puppet series is a guided tutorial for new users, which includes a free VM to run exercises on and experiment with. Go from “What’s that?” to “I can do it” in just a few hours.
- The language guide covers the syntax of the Puppet language.
- The latest type reference covers all of the built-in resource types and their available attributes. New users should start elsewhere, but experienced users will spend most of their time in this one page.
- The installation guide can help you install and configure the current open-source Puppet releases.
- The glossary explains the terminology you’ll encounter when reading about Puppet.
Puppet Enterprise
Puppet Enterprise is Puppet with more, including professional support, a production-grade puppet master stack, a web console for analyzing reports and controlling your infrastructure, powerful orchestration features, and cloud provisioning tools.
Nearly all of the main Puppet documentation also applies to Puppet Enterprise. For details about PE’s extra features and slightly different run environment, see the current Puppet Enterprise user’s guide, or go directly to:
- The system requirements
- The installation instructions or the upgrade instructions
- The quick start guide, which walks through building and managing a small proof-of-concept deployment.
- The PE download page
The current version of PE is 2.5; documentation for previous versions can be found here.
MCollective
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:
- The terminology glossary
- The installation instructions
- The configuration guide
- The guide to writing new agent plugins
Note: MCollective is included with Puppet Enterprise, and new agent plugins will appear in the console’s live management controls.
Puppet Dashboard
Puppet Dashboard is an open source web console for Puppet, which can analyze reports, browse inventory data, and assign classes to nodes.
See the Dashboard 1.2 manual, or go directly to:
Note: Puppet Enterprise’s console is based on Puppet Dashboard, and extends it with extra features. PE users should see the PE documentation instead of the Dashboard documentation.
PuppetDB
PuppetDB is the fast, scalable, and reliable data warehouse for Puppet. It caches the data Puppet creates, and gives you advanced features at awesome speed.
See the PuppetDB 0.9 manual, or go directly to:
Public Services
- Yum and Apt repositories — Easily install Puppet Labs’s software on the most popular Linux distributions.
- The Puppet Forge — A bazaar of community-built Puppet modules, for managing everything from Apt repos to ZFS.
Help Improve This Site
These documents belong to the community and are licensed under the Creative Commons. You can help improve them!

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
For suggestions or minor corrections, just email faq@puppetlabs.com. 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 28cd2b452b4791d431a0b240e58ffafaab000c73 of the puppet-docs Git repo on May 18, 2012.