Not too long ago at PuppetConf we released Puppet Tasks, a family of offerings that include an open source task runner called Bolt and a new set of task management capabilities included in Puppet Enterprise.
Since then we’ve continued to iterate and release weekly updates to Bolt. As we gear up for the Puppet Hack on 7 December we’ve made some improvements worth noting.
These new features have been built with adoption and expansion in mind. We wanted to improve the security and access, expand what you can do on which types of infrastructure and enable change in your environment.
We’ve been stabilizing Bolt and making improvements to usability overall as well. This includes a new json output format for consistency and allowing users to set a configurable connection timeout. You can now stream this output in realtime and no longer need to wait for all your nodes to finish to see the results. Additionally, we made it easier to automate with Bolt by adding the ability to specify a transport or point to a file with your nodes on the command line.
Some of the major improvements are around keeping connections secure and enabling Bolt’s usage throughout your environment.
New options on the CLI
The new sudo feature allows Bolt to run commands, scripts, and tasks as a different user other than the user its connecting as. This gives the option to set the user for privilege escalation, set the password and specify which private key to use for SSH.
At PuppetConf we reiterated our commitment to treating Windows as a first-class citizen, and Bolt is no exception. For Windows, we’ve added enhancements to support tasks written in Ruby and the Puppet language over WinRM with improved error messaging. In addition, we’ve added the ability to input arguments to a task when using PowerShell. Stay tuned for upcoming improvements with WinRM with regards to SSL and user privileges.
To help manage these additional command line options we've added a config file so that you can load configs from a file without having to specify on the command line. Config options that are mapped to command line flags will be overridden by the flag when specified on the CLI.
You can find it here:
Want to get started?
Install Bolt by running:
gem install bolt
Yasmin Rajabi is a product manager at Puppet.