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 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:
- Puppet Enterprise user’s guide
- The system requirements
- The installation instructions or the upgrade instructions
- The quick start guide, which walks you through building and managing a small deployment that can be used as a learning tool, or first steps to creating your company’s deployment.
- The PE download page
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:
- 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 installation guide can help you install and configure the current open-source Puppet releases.
- The Puppet 4.0 Reference Manual
- 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 glossary explains the terminology you’ll encounter when reading about Puppet.
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 Vagrant-based demo environment, to try MCollective immediately
- The standard deployment guide, to deploy MCollective into your production environment with the recommended configurations
- The overview of components, to learn about the server, client, and middleware roles
- The guide to writing new agent plugins, to build powerful actions that solve your specific problems
- The release notes
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:
- The installation instructions
- The config file reference
- Info about hierarchies
- How to write data sources
- Using Hiera with Puppet
- Using Hiera from the command line
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.
- The list of core facts lists and describes every built-in fact that ships with Facter.
- The custom fact overview is an example-driven primer and reference for fact authors.
- The custom facts guide explains how to write and distribute your own facts in detail.
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.
- The Geppetto Manual has installation and usage instructions.
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.
- Puppet Enterprise Modules will tell you everything you need to know about working with PE-specific modules from the Forge.
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.
Puppet has a large community and many resources for users.
- Community Guidelines and Code of Conduct — General info about how to navigate our community and get help.
- 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.
- Workflow for Puppet Open-Source Projects — Info about how the Puppet projects use their issue trackers, and how you can help.
- Trivial Patch Exemption Policy — Details about which contributions are exempted from our contributor agreement.
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!
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
For suggestions or minor corrections, just email email@example.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.
This release of the documentation was generated from revision 36de347eea50e8c91a32841d309e55bf67a00182 of the puppet-docs Git repo on April 17, 2015.