Puppet fires off Bolt 2.0

Puppet fires off Bolt 2.0
Puppet Logo

Puppet has debuted v2.0 of its Bolt orchestration and automation tool, with a new inventory format top of the list of claimed improvements .

The automation and configuration turned infosec outfit said the number of “regular” Bolt users had quadrupled since it shipped v1.0 just over a year ago.

According to a blog post from senior principal software engineer at Puppet, Alex Dreyer announcing the new version, it brings a new Bolt inventory file format, helpfully dubbed V2, which supports loading information through plugins. 

Using a V2 inventory plugin, Dreyer wrote, “You can load secrets from external sources, discover targets in dynamic environments, and customize the behavior of certain plan functions.” The new version will ship with plugins to support Vault, Terraform, AWS and Azure “and to encrypt secrets directly in the inventory file.”

Also new is the ability to run tasks that execute on a proxy target. Dreyer said this would make it easier to write tasks that interact with “network devices, cloud APIs, or any target with a limited execution environment.”

Talking of targets, he added “We’ve worked to make the API for target objects in the plan language more consistent and powerful. This makes it easier to discover or create targets in a plan or connect to the same target through multiple transports.” The new API means it is possible to set config values directly on targets in a plan, or to create new targets with the same data format as the inventory file.

Dreyer said migration should be straightforward, but there are a few deprecations and compatibility changes and users are advised to migrate their V1 inventory files to the latest version.

Support for MacOS 10.11, 10.12 and 10.13 is set to be dropped “in the near future.” Fedora 28 and 29 support is also due to end soon. Support for Ruby 2.3 and 2.4 has been dropped, with Ruby 2.5 being the minimum version supported.

Details of these, and other changes to Outputs, CLI, Config and Plan language, can be checked at the changelog here.