Server automation framework and application
Clone or download
justinstoller Merge pull request #1924 from justinstoller/mergeup610release
(maint) Merge branch '6.1.0-release' into 'master'
Latest commit 15a2c84 Dec 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
acceptance (maint) update puppet submodule version and agent pin Dec 11, 2018
dev-resources (maint) Properly revoke infra-crl when it is a chain Sep 27, 2018
dev Merge branch '5.3.x' into '6.0.x' Nov 21, 2018
docker (maint) Merge up 997d5f8 to master Dec 12, 2018
documentation (maint) Update 6.1.0 release notes Dec 14, 2018
ext Merge branch '5.3.x' Aug 22, 2018
ezbake Merge branch '5.3.x' into '6.0.x' Nov 21, 2018
jenkins (SERVER-153) Use `:all` test selector in jenkins deploy script Nov 10, 2014
locales (i18n) Update strings in puppetserver.pot file Sep 24, 2018
resources/ext (maint) Merge branch '5.3.x' into '6.0.x' Dec 14, 2018
ruby (maint) update puppet submodule version and agent pin Dec 11, 2018
spec (SERVER-2064) Add comment explaining `to_a`, tweak test Jan 3, 2018
src Merge branch '5.3.x' into 6.0.x Nov 21, 2018
test Merge '6.0.x' into 'master' Nov 21, 2018
.gitattributes (maint) Change docker-entrypoint.sh to source from a directory Dec 5, 2018
.gitignore (maint) Update i18n files Feb 9, 2017
.gitmodules (SERVER-1302) Undo changes from botched merge-in Apr 27, 2016
.travis.yml Merge branch '6.0.x' Dec 5, 2018
Gemfile (SERVER-2374) Update to beaker 4 and beaker-puppet 1 Nov 9, 2018
LICENSE.md (SERVER-7) Add Licensing and Copyright info Sep 30, 2014
MAINTAINERS remove cprice404 Jan 24, 2017
Makefile (SERVER-1551) i18n string updates Oct 18, 2016
README.md (SERVER-2095) Remove JRuby 1.7 support Mar 20, 2018
Rakefile (maint) Update Rakefile for master branch Dec 14, 2018
azure-pipelines.yml (maint) Consume rspec tests in Azure Pipelines Nov 15, 2018
dev-setup Merge branch '5.3.x' Aug 22, 2018
project.clj Merge branch '6.0.x' Dec 5, 2018

README.md

Puppet Server

Puppet Server is the next-generation application for managing Puppet agents. This platform implements Puppet's server-side components in a more distributed, service-oriented architecture. We've built Puppet Server on top of the same technologies that make PuppetDB successful, and which allow us to greatly improve performance, scalability, advanced metrics collection, and fine-grained control over the Ruby runtime.

While Puppet Server is designed to replace the deprecated Apache/Passenger Puppet master stack, they diverge in a handful of ways due to differences in Puppet Server's underlying architecture. See Puppet Server vs. Apache/Passenger Puppet Master for details.

Release notes

For information about the current and most recent versions of Puppet Server, see the release notes.

Installing Puppet Server

All versions of Puppet Server depend on at least Puppet 3.7.3, and since version 2.3 it depends on Puppet Agent 1.4.0 or newer, which installs Puppet 4.4 and compatible versions of its related tools and dependencies on the server. Puppet agents running older versions of Puppet Agent can connect to Puppet Server 2.3; this requirement applies to the Puppet Agent running on the Puppet Server node only.

If you install Puppet Server on a system running an older version of Puppet, installation also upgrades Puppet. See Installing Puppet Server from Packages for complete installation requirements and instructions.

Ruby and Puppet Server

Puppet Server uses its own JRuby interpreter, which doesn't load gems or other code from your system Ruby. If you want Puppet Server to load additional gems, use the Puppet Server-specific gem command to install them. See Puppet Server and Gems for more information about gems and Puppet Server.

Configuration

Puppet Server honors almost all settings in puppet.conf and should pick them up automatically. However, we have also introduced some new settings specific to Puppet Server. See the Configuration documentation for details.

For more information on the differences between Puppet Server's support for puppet.conf settings and the Ruby master's, see our documentation of differences in puppet.conf.

Certificate authority configuration

Much of the documentation on External CA Support for the Ruby Puppet Master still applies to using an external certificate authority in conjunction with Puppet Server. There are some differences to bear in mind, however; see the External CA Configuration page for details.

SSL configuration

In network configurations that require external SSL termination, you need to do a few things differently in Puppet Server. See External SSL Termination for details.

Command-line utilities

Puppet Server provides several command-line utilities for development and debugging purposes. These commands are all aware of puppetserver.conf, as well as the gems and Ruby code specific to Puppet Server and Puppet, while keeping them isolated from your system Ruby.

For more information, see Puppet Server Subcommands.

Known issues

As this application is still in development, there are a few known issues that you should be aware of.

Developer documentation

If want to play with our code, these documents should prove useful:

Puppet Server also uses the Trapperkeeper Clojure framework.

Branching strategy

Puppet Server's branching strategy is documented on the GitHub repo wiki.

Issue tracker

Have feature requests, found a bug, or want to see what issues are in flight? Visit our JIRA project.

License

Copyright © 2013---2018 Puppet

Distributed under the Apache License, Version 2.0.

Special thanks to

Cursive Clojure

Cursive is a Clojure IDE based on IntelliJ IDEA. Several of us at Puppet use it regularly and couldn't live without it. It's got some really great editing, refactoring, and debugging features, and the author, Colin Fleming, has been amazingly helpful and responsive when we have feedback. If you're a Clojure developer, you should definitely check it out!

JRuby

JRuby is an implementation of the Ruby programming language that runs on the JVM. It's a fantastic project, and the bridge that allows us to run Puppet Ruby code while taking advantage of the JVM's advanced features and libraries. We're very grateful to the developers for building such a great product and for helping us work through a few bugs that we've discovered along the way.

Maintenance

Maintainers: See the MAINTAINERS file

Tickets: For issues in o/s only: https://tickets.puppetlabs.com/browse/SERVER. For issues in PE: https://tickets.puppetlabs.com/browse/PE. Set component = Puppet Server