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 Puppet Enterprise (PE)
environment. This lets you manage and run tasks and plans using PE and the console. Bolt
projects have the same structure as Puppet modules, and they
can be loaded from the modules
directory of a PE environment.
The control repo is a central Git repository from which PE fetches content. 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 want 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
Understand the 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 adding 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.
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 PE and many plan functions do not work, such as
file::exists
and set_feature
. See Plans in PE versus Bolt plans.