Forge Home

Puppet Forge Premium Modules

Premium content subscriptions on the Puppet Forge offer exclusive module packages designed to solve your most challenging automation problems. Each subscription grants you access to a set of modules and all updates. Commercial support is available according to the terms of each subscription.

These subscriptions are in addition to our existing open source Supported modules; which will always remain available for anyone to freely use.

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 module 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 purchased.

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 modules. 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 module access" 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:

  authorization_token: 'Bearer <your API token>'
  baseurl: ''
  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
    authorization_token: 'Bearer <your API token>'

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
  authorization_token: 'Bearer <your API token>'
  baseurl: ''

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
  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.


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 module 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 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?

Support offerings vary for each type of Premium module. Your sales representative can provide you information about the support options available for the premium module you are interested in purchasing.

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

If you have a support contract with your module, you can file support requests the same way you would for other Supported modules. You will need an active support account, then use our support portal to 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: April 9, 2024