Forge Home

Puppet Forge Premium Content

Premium content subscriptions on the Puppet Forge offer exclusive module packages designed to solve your most challenging automation solutions. Each subscription grants you access to a set of modules, all updates, and guaranteed support for the lifetime of your subscription.

These subscriptions are in addition to our existing open source Supported modules; which will always remain available for anyone to use and commercially supported under the terms of your Puppet Enterprise license.

See our content listing page to learn about the available packages.

Terms of Use

Use of each module within a premium tier is governed by its own license, which can be found either in its LICENSE file or on the corresponding tab on its page on the Forge.

Purchasing a premium content subscription entitles you to access or download a given set of modules and any updates for as long as your subscription is maintained. If your subscription expires, you are no longer entitled to use the content and will no longer have access to updates or commercial support.

You can access and deploy the content after configuring your system(s) with an API token. Configuration instructions are included below. Modules can be installed into as many compile servers as needed for your load-balanced infrastructure, and they can be deployed in your CI pipelines for testing purposes.

Configuring Download Access for Premium Content

You need a Forge user account to configure access to Premium content. If you don't have one yet, you can sign up for a Forge account now. Generally speaking, you should create a company account, rather than tying your personal account to Premium access. If your company publishes Forge content, then you might consider using that same account to access Premium content.

Once you have your account, ensure that you're logged in and generate a new API token using the button at the bottom of your profile. Give the token a name like "Premium content" and save it somewhere safe. You will not be able to view the full token again, but you can list or revoke existing tokens at the bottom of your Forge account's profile settings page.

This token (or any other token attached to your account) is the token to your ability to access content and updates. Any content subscriptions you purchase, either before or after creating this token, will grant access to the modules it refers to.

Depending on how you intend to download modules, you can configure Puppet, r10k, or Code Manager with this token as described below.

Configuring Code Manager

Code Manager uses r10k to deploy the modules in your Puppetfile. To install premium modules, you must have r10k verson 3.10.0 or later installed. Configure your primary server and all compile servers with the following Hiera data, using the API token you created above:

pe_r10k::forge_settings:
  authorization_token: 'Bearer <your API token>'
  baseurl: 'https://forgeapi.puppet.com'
puppet_enterprise::master::code_manager::forge_settings:
  authorization_token: 'Bearer <your API token>'

Deploy your control repository, then run Puppet on all your Puppet servers to enforce the new setting. Once you've done that, then you can add the modules from your premium subscription to your Puppetfile. See the Puppetfile docs for more information about configuring a Puppetfile.

Configuring Bolt

To install premium modules, you must use bolt version 3.18.0 or later. Add the following to your bolt-project.yaml file to authorize your downloads:

# bolt-project.yaml
module-install:
  forge:
    authorization_token: 'Bearer <your API token>'
    baseurl: https://forgeapi.puppet.com

Then add the modules from your premium subscription to your project as usual. See the Bolt project docs for more information about configuring your Bolt project.

Configuring r10k

To install premium modules with r10k, you must use r10k 3.10.0 or later. The main configuration file for r10k is /etc/puppetlabs/r10k/r10k.yaml. You should add the following configuration, using the API token you created above:

# r10k.yaml
forge:
  authorization_token: 'Bearer <your API token>'
  baseurl: 'https://forgeapi.puppet.com'

Then add the modules from your premium subscription to your Puppetfile. See the r10k docs for more information about configuring a Puppetfile.

Configuring Puppet

If you need to install modules with puppet module install (for example, in a script you've written or to download modules with puppetlabs_spec_helper), then you'll need to configure Puppet itself to use your API token.

In /etc/puppetlabs/puppet/puppet.conf, add the following setting in the [main] section:

# puppet.conf
[main]
  forge_authorization = 'Bearer <your API token>'

Installing in an air-gapped environment

If you have an air-gapped environment, you'll need to manually download module tarballs and transfer them to the appropriate location. See the module installation docs for instructions.

FAQ

How can I download the module tarball with my browser?

You will need to be logged in to your Forge account to download the tarball with your browser. Click the login link at the top of the page and log in, then the module's detail page will have a manual download option.

How do I buy a premium content subscription?

Visit the content listing page for links to the packages you can purchase.

How do I get access to the content if I lose my Forge credentials?

Email forge@puppet.com for assistance.

What if I lose the API token?

Use your Forge profile page to revoke that token and generate a new one.

What if the person who purchased the subscription has left my company and we can't get into their Forge account?

Contact your sales representative. They can update your subscription to grant access to a company Forge account.

What should I do if I've configured my system and still get a permission denied error?

Check the Support Portal for solutions and if needed, file a support request.

What support level comes with the premium modules?

See our available support packages. Your sales representative can help you choose which package you'd like.

How do I get help if I'm having trouble with a module?

You will need an active support account, then you can file a support request.

How do I authenticate to the Forge API with custom tools I've written?

For general HTTP request authentication, see the Forge API docs for instructions. If you're using the forge-ruby gem, configure it with an API token and it will handle authorization for you.

Last Revised: September 15, 2021