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