Published on 6 December 2017 by

Not too long ago at PuppetConf we released Puppet Tasks, a family of offerings that include an open source task runner called Puppet 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.

Usability improvements

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.

Screenshot of usability improvements in Puppet Bolt

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.

Screenshot of new CLI options for Puppet Bolt

Windows improvements

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.

Config file

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:

 ~/.puppetlabs/bolt.yml

As we continue to develop Bolt your feedback is greatly appreciated. Get involved by opening a PR or issue on GitHub, or reach out to us on Slack.

Want to get started?

Install Bolt by running:

gem install bolt

Yasmin Rajabi is a product manager at Puppet.

Learn more

Share via:
Posted in:
Tagged:

Add new comment

The content of this field is kept private and will not be shown publicly.

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.