Server automation framework and application
Clone or download
Latest commit bf06b62 Sep 24, 2018
Failed to load latest commit information.
acceptance Merge remote-tracking branch 'upstream/5.5.x' into 6.0.x Sep 17, 2018
api Merge remote-tracking branch 'upstream/5.5.x' into master Jun 18, 2018
autotest (maint) Ensure every file has a trailing newlines Apr 23, 2012
benchmarks Merge pull request #6995 from jhelwig/PUP-8531-remove-app_management-… Aug 27, 2018
bin (PUP-3478) Remove extlookup2hiera Apr 19, 2017
conf (docs) Update URLs in config files. May 9, 2018
docs Merge pull request #7008 from joshcooper/PUP-5985-dont-cache-feature-… Sep 6, 2018
examples/hiera (Maint) Update commands to use new forms in hiera examples Sep 19, 2013
ext (PUP-8987) Add resource_api to gemspec/Gemfile Sep 12, 2018
lib Merge pull request #7102 from hlindberg/PUP-9144_evaluate-everything-… Sep 22, 2018
locales (packaging) Updating the puppet.pot file Sep 13, 2018
man (packaging) Updating manpage file for 6.0.x Sep 17, 2018
spec Merge pull request #7102 from hlindberg/PUP-9144_evaluate-everything-… Sep 22, 2018
tasks (PUP-7433) Abort rake task if optional gem is missing Aug 29, 2018
util (maint) Quote variables in shell scripts Jan 31, 2018
yardoc/templates/default (#18023) Document user facing classes using yardoc and show api. Jan 5, 2013
.gemspec (packaging) Bump to version '6.0.1' [no-promote] Sep 17, 2018
.gitignore (maint) Exclude byebug history May 2, 2018
.gitmodules (maint) Add full catalog benchmark Mar 9, 2018
.hound.yml (maint) Point HoundCI at the existing rubocop config Mar 24, 2016
.mailmap (maint) Update mailmap for git shortlog Oct 18, 2012
.noexec.yaml (#15464) Exclude gem command from bundler Aug 20, 2012
.rubocop.yml (PUP-7834) Enable rubocop checks for {YAML,JSON}.load Aug 29, 2018
.travis.yml (PUP-7433) Make documentation a required group Sep 4, 2018
.yardopts (doc) Prevent Yard from documenting vendor code. Aug 23, 2016 (PUP-5123) Replace http:// links with https:// Nov 9, 2015 (maint) Add links to help guide folks to docs Aug 3, 2018
Gemfile (PUP-8987) Add resource_api to gemspec/Gemfile Sep 12, 2018
LICENSE (maint) Update docs and license with new branding Apr 21, 2016
MAINTAINERS (PUP-8490) Remove inactive maintainers Feb 25, 2018 (docs) Update URLs pointed to bad redirects. May 9, 2018
Rakefile Merge remote-tracking branch 'upstream/5.5.x' into maint/master/mergeup Sep 12, 2018
appveyor.yml (PUP-7433) Make documentation a required group Sep 4, 2018
install.rb (PUP-8244) Enable Lint/UselessAssignment rubocop Dec 18, 2017


Travis Status Appveyor Status Gem Version Inline docs

Puppet, an automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.


Documentation for Puppet and related projects can be found online at the Puppet Docs site.




The best way to run Puppet is with Puppet Enterprise (PE), which also includes orchestration features, a web console, and professional support. The PE documentation is available here.

To install an open source release of Puppet, see the installation guide on the docs site.

If you need to run Puppet from source as a tester or developer, see the Running Puppet from Source guide on the docs site.

Developing and Contributing

We'd love to get contributions from you! For a quick guide to getting your system setup for developing, take a look at our Quickstart Guide. Once you are up and running, take a look at the Contribution Documents to see how to get your changes merged in.

For more complete docs on developing with Puppet, take a look at the rest of the developer documents.


See LICENSE file.


Please log tickets and issues at our JIRA tracker. A mailing list is available for asking questions and getting help from others. In addition, there is an active #puppet channel on Freenode.

We use semantic version numbers for our releases and recommend that users stay as up-to-date as possible by upgrading to patch releases and minor releases as they become available.

Bugfixes and ongoing development will occur in minor releases for the current major version. Security fixes will be backported to a previous major version on a best-effort basis, until the previous major version is no longer maintained.

For example: If a security vulnerability is discovered in Puppet 4.1.1, we would fix it in the 4 series, most likely as 4.1.2. Maintainers would then make a best effort to backport that fix onto the latest Puppet 3 release.

Long-term support, including security patches and bug fixes, is available for commercial customers. Please see the following page for more details:

Puppet Enterprise Support Lifecycle