Migrating Bolt tasks and plans to PE
If you use Bolt tasks and plans to automate parts of your configuration management, you can move that Bolt content to a control repo and transform it into a PE environment. This lets you manage and run tasks and plans using PE and the console. PE environments and Bolt projects use the same default structure, and both use a Puppetfile to install content.
The control repo is a central Git repository PE fetches content from. An environment is a space for PE authors to write and install content, similar to a Bolt project.
There are two ways to get your Bolt content into an environment:
- Move your Bolt code to a new control repo. Do
this if you have a
Boltdir
, or an embedded project directory, in a repo that also contains other code that you do not wish to migrate to PE. - Configure PE to point to the Bolt project. Do this is if you have a dedicated repo for Bolt code, or a local project directory, and don't want to duplicate it in PE.
Move Bolt content to a new PE repo
Move your Bolt project content out of your
Boltdir
and into a fresh PE control
repo.
- Install PE on your machine. See Getting started with Puppet Enterprise.
- Set up your PE control repo and environments. See Managing environments with a control repository.
Point PE to a Bolt project
Allow PE to manage content in your dedicated Bolt repo.
- Install PE on your machine. See Getting started with Puppet Enterprise.
- Ensure your Bolt project follows the local project directory structure.
To point PE to your Bolt content:
PE workflows for Bolt users
Review these differences between PE and Bolt commands and workflows before you start running tasks and plans in PE.
Connecting to nodes
You must connect PE to each node you want to run tasks on or include in a plan. See Add nodes to the inventory for instructions on how to add agent or agentless nodes to your inventory.
Installing tasks and plans
In PE, as in Bolt, you
use the mod
command to download modules. But instead of running the
bolt puppetfile install
command to install them, you trigger
Code Manager and deploy code using the puppet
code deploy
command. See Triggering Code Manager on the command line for more
information.
Running tasks and plans
PE does not recognize the bolt
command for running tasks and plans. Instead, use the puppet task
run
and puppet plan run
commands, or use the console.
Limitations in PE
Not everything in Bolt works in PE. For example, many pre-installed Bolt modules are not included in PEand many plan functions like
file::exists
and set_feature
do not work. See
Plan caveats and limitations for more information.