Configuring Forge settings

To configure how Code Manager downloads modules from the Forge, specify these Forge parameters on the puppet_enterprise::master::code_management class in Hiera (not the puppet_enterprise::master::code_manager class). These parameters replace the single JSON object that was previously given to the puppet_enterprise::master::code_manager::forge_settings parameter.

The Forge related parameters on the puppet_enterprise::master::code_management master class are:

  • forge_baseurl: Indicate where Forge modules are installed from. The default is https://forgeapi.puppetlabs.com.
  • forge_authorization_token: Specify the token for authenticating to a custom Forge server.
  • forge_proxy: Set the proxy for all Forge interactions.

For example, this configuration specifies a custom Forge server that doesn't require authentication:

puppet_enterprise::master::code_management::forge_baseurl: 'https://private-forge.example'

If your custom Forge server requires authentication, you must specify both forge_baseurl and forge_authorization_token. You must format forge_authorization_token as a string prepended with Bearer, particularly if you use Artifactory as your Forge server. For example:

puppet_enterprise::master::code_management::forge_baseurl: 'https://private-forge.example' puppet_enterprise::master::code_management::forge_authorization_token: 
'Bearer <TOKEN>'

The forge_proxy parameter sets a proxy for all Forge interactions. This setting overrides the global proxy setting but only for Forge operations (refer to the global proxy setting for more information). You can set an unauthenticated proxy or an authenticated proxy with either Basic or Digest authentication. For example:

puppet_enterprise::master::code_manager::forge_proxy: 'http://proxy.example.com:3128'

If you set a global proxy, but you don't want Forge operations to use a proxy, under the forge_settings parameter, set forge_proxy to an empty string.