Server automation framework and application
Ruby HTML Shell Emacs Lisp VimL Makefile
Latest commit 8967972 Jan 17, 2017 @MosesMendoza MosesMendoza committed on GitHub Merge pull request #5484 from MosesMendoza/PUP-3534/master/deprecate_…

(PUP-3534) Deprecate caching certificate authority verify methods
Failed to load latest commit information.
acceptance Merge pull request #5462 from MosesMendoza/ticket/stable/PUP-6448-ind… Jan 13, 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 (PUP-6958) Add locales directory to gem Jan 12, 2017
lib Merge pull request #5484 from MosesMendoza/PUP-3534/master/deprecate_… Jan 17, 2017
locales (PUP-6958) Remove build-time dependency on the gettext-setup gem Jan 12, 2017
man (PUP-6844) Ignore Mercurial artifacts when downloading plugins Nov 21, 2016
spec Merge pull request #5484 from MosesMendoza/PUP-3534/master/deprecate_… Jan 17, 2017
tasks (PUP-6958) Remove build-time dependency on the gettext-setup gem Jan 12, 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-6474) Exclude problematic files from gettext parsing Dec 16, 2016
.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-5545) Rubocop to ignore files in the module skeleton May 4, 2016
.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 (PUP-6840) Add revert policy Oct 28, 2016
Gemfile (PUP-6476) Add Hocon data_set function for Hiera version 5 Jan 5, 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