Configure Bolt to use the orchestrator API and perform actions on PE-managed nodes.
You can configure Bolt to use the orchestrator API and perform actions on Puppet Enterprise-managed nodes. For example, you can run a remote command:
bolt command run hostname --nodes pcp://<master>
When you run Bolt plans, the plan logic is processed locally while the corresponding commands, scripts, tasks, and file uploads run remotely via the API.
To set up Bolt to use the orchestrator API you must do the following:
Install the bolt_shim module in a PE environment.
Assign task permissions to a user role.
Adjust the orchestrator configuration files, as needed.
View available tasks.
Install the Bolt module in a PE environment
Bolt uses a task to execute commands, upload files, and run scripts
over orchestrator. To install this task, install the
puppetlabs-bolt_shim module from the Forge. Install the code in the same
environment as the other tasks you want to run. Use the following Puppetfile line:
mod 'puppetlabs-bolt_shim', '0.1.1'
In addition to the bolt_shim module, any task or module content you want to execute over PCP must be present in the PE environment. Download the modules described in Set up Bolt to download and install modules and make them available in your PE environment. By only allowing content that is present in the PE environment to be executed over PCP you maintain the role based access control over the nodes you manage in PE.
Assign task permissions to a user role
In the PE console, click .
From the list of user roles, click the one you want to have task permissions.
On the Permissions tab, in the Type box, select Tasks.
For Permission, select Run tasks, and then select All from the Instance drop-down list.
Click Add permission, and then commit the change.
Adjust the orchestrator configuration files
Set up the orchestrator API for Bolt in the same user-specified configuration file that is used for PE client tools:
C:\ProgramData\PuppetLabs\client-tools\orchestrator.conffor Windows), copy the file to your home directory.
~/.puppetlabs/bolt/bolt.yaml) or the configuration section of the inventory file (
Bolt can be configured to connect to Orchestrator in the
pcp section of the Bolt
configuration file as well. This configuration will not be shared with
puppet task. By
default Bolt uses the production environment in PE when running tasks. To use a
different environment change the
pcp: task-environment: development
View available tasks
To view a list of available tasks from the orchestrator API, run the
puppet task show
(instead of the command