Puppet Bolt — Orchestration Without Agents or Heavy Setup
Sometimes you just need to get a job done across a bunch of machines, without building an entire Puppet infrastructure. Puppet Bolt is exactly for that. It runs commands, scripts, or multi-step plans on many systems at once — Linux, Windows, or both — over plain SSH and WinRM.
There’s nothing to install on the targets. You point Bolt at an inventory, tell it what to run, and it takes care of connecting, executing, and giving you a neat report. For quick fixes, ad-hoc changes, or lightweight automation, it’s often faster than firing up a full config-management stack.
Technical Snapshot
| Attribute | Detail |
| Platform | Cross-platform control; targets over SSH (Linux/Unix) or WinRM (Windows) |
| Plans | YAML or Puppet language |
| Mode | Agentless — no software left on targets |
| Inventory | Static files, plugins, or dynamic sources |
| Parallelism | Executes on multiple nodes at the same time |
| Integrations | Puppet Forge modules, scripts, APIs |
| License | Apache 2.0 |
In Practice
You might have to restart a service on dozens of app servers. Instead of logging into each one, you run:
bolt command run “systemctl restart myapp” –targets appservers
and a moment later it’s done. Need something more elaborate? Write a plan: download a patch, install it, reboot, check status. Bolt runs each step in order, in parallel across all nodes, and hands you a summary of what worked and what didn’t.
Setup Notes
– Install via package managers (`.deb`, `.rpm`), Homebrew, or Ruby gem.
– Only needs SSH/WinRM access from the control node.
– Inventories can be hand-written YAML or pulled from an API/CMDB.
– Works with Puppet Forge content out of the box.
– Built-in support for encrypted secrets.
Where It Fits
– Tasks that span multiple OS types but don’t need a full Puppet master.
– Rolling out quick fixes or running health checks on many nodes.
– Ad-hoc jobs in CI/CD pipelines.
– Admin scripts you want to run safely in parallel.
Watch Outs
– It’s procedural — not meant for continuous state enforcement.
– Large static inventories can be hard to maintain.
– Firewall rules must allow SSH or WinRM.
– Mixing YAML and Puppet syntax in plans can take a little getting used to.
Close Relatives
– Ansible — agentless, YAML-driven automation.
– Salt SSH — SaltStack without agents.
– Rundeck CE — more about scheduled jobs and runbooks.