Server automation framework and application
Ruby HTML Shell Emacs Lisp Vim script Makefile
Latest commit c639c94 Feb 21, 2017 @thallgren thallgren committed on GitHub Merge pull request #5650 from thallgren/errors-on-access-error
(PUP-7102) Fail with error on access problems with environment directory
Failed to load latest commit information.
acceptance Merge pull request #5384 from Iristyle/ticket/master/PUP-6925-Use-Pup… Feb 17, 2017
api Merge branch 'stable' Jan 11, 2017
autotest (maint) Ensure every file has a trailing newlines Apr 23, 2012
benchmarks Merge branch 'stable' Jan 11, 2017
bin (PUP-2563) Exit with 1 on pre-1.9.3 ruby Dec 4, 2014
conf (docs) Update URLs for generated references Mar 18, 2016
docs Merge branch 'upstream/stable' Dec 6, 2016
examples/hiera (Maint) Update commands to use new forms in hiera examples Sep 19, 2013
ext Merge pull request #5545 from Iristyle/ticket/master/PUP-6925-Use-Pup… Jan 25, 2017
lib (PUP-7102) Fail with error on access problems with environment directory Feb 21, 2017
locales (maint) Ignore vendored code when searching for marked strings Feb 1, 2017
man Merge pull request #5494 from whopper/PUP-4933/5.0/remove_cfacter Jan 11, 2017
spec (PUP-7102) Fail with error on access problems with environment directory Feb 21, 2017
tasks (PUP-7122) Add wrapper for gettext:update_pot rake task Feb 1, 2017
util (PUP-6467) Fix Parallel Spec grouping for RSpec 3.5.0 Jul 7, 2016
yardoc/templates/default (#18023) Document user facing classes using yardoc and show api. Jan 5, 2013
.gemspec (PUP-7114) Re-vendor semantic_puppet gem Jan 19, 2017
.gitignore (PUP-6780) Add more unit tests for lookup Nov 15, 2016
.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-7114) Add semantic_puppet Rubocop exclusion Jan 19, 2017
.travis.yml Revert "Remove commit and code style checking" Jan 11, 2017
.yardopts (doc) Prevent Yard from documenting vendor code. Aug 23, 2016 (PUP-5123) Replace http:// links with https:// Nov 9, 2015 (docs) Fix CONTRIBUTING broken link (#5528) Jan 23, 2017
Gemfile (PUP-7178) Dispatch hiera custom backend 'hiera' calls back to lookup Feb 4, 2017
LICENSE (maint) Update docs and license with new branding Apr 21, 2016
MAINTAINERS (maint) Update MAINTAINERS file Oct 31, 2016 (maint) Add a MAINTAINERS file (#5255) Sep 6, 2016
Rakefile (PUP-6958) Remove build-time dependency on the gettext-setup gem Jan 12, 2017
appveyor.yml (PUP-7015) Add Japanese Language test to Appveyor tests Dec 20, 2016
install.rb (maint) Fix windows default directories in install.rb Dec 16, 2016


Build Status 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, 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 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 you can 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