Puppet Approved Modules

Puppet Forge modules are great at making your life easier. With the new Puppet Approved program, finding the right module is even easier. Puppet Approved modules are recommended by Puppet for use with Puppet Enterprise and meet our expectations for quality and usability.

Puppet Approved modules meet Puppet's standards for quality composition, reliable operation, and active development.

Puppet ensures that Puppet Approved modules:

  • Solve a discrete automation challenge and are developed in accordance with module best practices
  • Adhere to Puppet's standards for style and design
  • Have accurate and thorough documentation to help you get started quickly
  • Are regularly maintained and versioned according to SemVer rules
  • Provide metadata including license, issues url, and where to find source code
  • Do not deliberately inject malicious code or otherwise harm the system they're used with

What's the difference between Puppet Approved & Puppet Supported modules?

  • Puppet Approved is a designation given to modules that pass specific quality and usability requirements. These modules are recommended by Puppet, but not supported as part of a Puppet Enterprise license agreement.
  • Puppet Supported are modules that have been tested with Puppet Enterprise and are fully supported by Puppet and/or a third-party vendor where applicable.

How can I get help with a Puppet Approved module?

Though Puppet Approved modules are not part of any support agreement with Puppet, there are many ways to get help from the Puppet community.

  1. Follow the 'Report Issues' link on the module page
  2. Post to the Puppet Users Google Group
  3. Search for an answer on ask.puppet.com
  4. Interact on the #puppet IRC channel on Freenode

How do I use Puppet Approved modules?

You can install a Puppet Approved module by visiting the module's page on the Forge and either downloading the tarball or installing with the puppet module tool by copying the install code provided on the page.

For example, to install the stahnma/epel module using the puppet module tool:

  1. Go to stahnma-epel
  2. Copy the install code from the page
  3. Paste the code into the command line # puppet module install stahnma-epel

Once you've installed the module, follow its README for help getting started.

How are Puppet Approved modules selected?

Today, modules are manually selected for review based on popularity, originality, and other inputs from the Forge and community.

If you're a module author or are interested in detailed criteria used to consider modules for Puppet Approved, see this page for more details.

How do I nominate a module to be Puppet Approved?

When signed in to your Puppet Forge user account, you have the opportunity to rate your experience with each module on its module page. Look for the "Tell us about this module" section in the upper right of the module page. The aggregate ratings of a module will help Puppet prioritize which modules to consider for Puppet Approved.

Module authors are welcome to request a review by submitting a ticket in the MODULES project at tickets.puppetlabs.com. We'll do our best to review all candidates in a timely fashion. In the near future, we intend to automate most of the module analysis, providing feedback as close to the time of publish as possible.

Where can I find Puppet Approved modules?

All Puppet Approved modules can be browsed with this search query.

How will I know if a module is Puppet Approved?

On the module page, you'll see a badge that says "approved".

When searching for a module, Puppet Approved modules will be marked as such in the search results.

If I have multiple versions of a module, do I have to get them all approved?

Puppet will evaluate the latest release of your module and consider it for Puppet Approved. Within the major SemVer style version, we consider subsequent releases approved, assuming the module still conforms to quality standards.

Why would I want my module approved?

A Puppet Approved badge puts your module in front of a wider audience, giving it more usage and a better chance at getting community contributions.