Connecting Bolt to Puppet Enterprise

If you're a Puppet Enterprise (PE) customer, you can connect Bolt to PE using the Puppet Communications Protocol (PCP) transport. However, in most cases this is not necessary, because tasks and plans are already supported from the console or the command line using PE orchestrator.

For more information on tasks and plans in PE, see Orchestrating tasks and plans.

The following modules were deprecated in August 2025 and are no longer being maintained by Perforce: puppetlabs-bolt_shim and puppetlabs-apply_helpers. You can still connect Bolt to Puppet Enterprise.

Configure the PCP transport

Bolt runs tasks through the PE orchestrator when a target uses the pcp transport. You can configure Bolt to connect to the PE orchestrator in the config section of your inventory file, or in the inventory-config section of your bolt-defaults.yaml file. This configuration is not shared with puppet task. By default, Bolt uses the production environment in PE when running tasks.

For example, your inventory file might look something like this:

Copy
groups: 
  - name: linux    
    targets:
      - nix0.example.com
  - name: windows  
    targets:
      - win0.example.com
config: 
  transport: pcp
  pcp: 
    cacert: "certs/cert.pem"
    service-url: "https://primary.example.com:8143"
    token-file: "tokens/token"

If you want to connect to multiple PE instances, create groups for each instance and configure the pcp transport for each group.

For more information on configuration options for the pcp transport, see Transport configuration options.