1. Rerun failed commands (1.17.0)
  2. Packaged hiera-eyaml gem (1.16.0)
  3. Local transport options for run-as, run-as-command, and sudo-password (1.16.0)
  4. Localhost target applies the puppet-agent feature (1.16.0)
  5. Tasks use the Bolt Ruby interpreter only for localhost (1.16.0)
  6. Fact indicates whether Bolt is compiling a catalog (1.16.0)
  7. YAML plans (1.15.0)
  8. Support for Red Hat Enterprise Linux 8 (1.15.0)
  9. Improved load time (1.15.0)
  10. Details about Result and ResultSet objects (1.15.0)
  11. Inventory warning about unexepected keys (1.15.0)
  12. BoltSpec::Run support for uploading files to remote systems (1.15.0)
  13. Support for Puppet device modules in a manifest block (1.14.0)
  14. Validation and error handling for invalid PCP tokens (1.14.0)
  15. SMB file transfer on Windows (1.13.0)
  16. Interpreter configuration option (1.13.0)
  17. Improved error handling (1.13.0)
  18. Updated project directory structure (1.12.0)
  19. bolt puppetfile show-modules command (1.12.0)
  20. BoltSpec::Run helpers accept options consistently (1.12.0)
  21. bolt task show displays module path (1.11.0)
  22. PowerShell scripts over the PCP transport (1.11.0)
  23. RSA keys with OpenSSH format (1.11.0)
  24. Support for new platforms (1.11.0)
  25. Hyphens allowed in aliases and group names (1.10.0)
  26. Improved out-of-the-box tasks (1.9.0)
  27. Respect multiple PuppetDB server_urls (1.9.0)
  28. Standard library functions (1.8.0)
  29. Configure proxy SSH connections through jump hosts (1.7.0)
  30. Query resource states from a plan (1.7.0)
  31. Specify an array of directories in modulepath (1.7.0)
  32. Save keystrokes on modulepath, inventoryfile, and verbose (1.7.0)
  33. Remote tasks (1.6.0)
  34. reboot module plan (1.6.0)
  35. Local transport on Windows (1.6.0)
  36. bolt_shim module contents marked as sensitive (1.6.0)
  37. Node aliases (1.5.0)
  38. Run apply with PE orchestrator without installing puppet_agent module (1.5.0)
  39. Boltapply with orchestrator (1.4.0)
  40. Add targets to a group (1.4.0)
  41. Additional plan test helpers (1.4.0)
  42. Data collection about applied catalogs (1.4.0)
  43. Docker transport for running commands on containers (1.3.0)
  44. Wait until all target nodes accept connections (1.3.0)
  45. Apply Puppet manifest code with bolt apply command (1.2.0)
  46. Python and Ruby helper libraries for tasks (1.2.0)
  47. Redacted passwords for printed target objects (1.2.0)
  48. Share code between tasks (1.1.0)
  49. Upgraded WinRM gem dependencies (1.1.0)
  50. Mark internal tasks as private (1.1.0)
  51. Upload directories via plans (1.1.0)
  52. Support for public-key signature system ed25519 (1.1.0)

New features added to Bolt in the 1.x release series. 

Rerun failed commands (1.17.0)

Bolt now stores information about the last failed run in a .rerun.json file in the Bolt project directory. You can use this record to target nodes for the next run using --retry failure instead of --nodes.

For repositories that contain a Bolt project directory, add $boltdir/.last_failure.json to .gitignore files.

Stored information may include passwords, so if you save passwords in URIs, set save-failures: false in your Bolt config file to avoid writing passwords to the .rerun.json file. (BOLT-843)

Packaged hiera-eyaml gem (1.16.0)

Bolt packages now include the hiera-eyaml gem. (BOLT-1026)

Local transport options for run-as, run-as-command, and sudo-password (1.16.0)

The local transport now accepts the run-as, run-as-command, and sudo-password options on non-Windows nodes. These options escalate the system user (who ran bolt) to the specified user, and behave like the same options using the SSH transport. _run_as can also be configured for individual plan function calls for the local transport. (BOLT-1052)

Localhost target applies the puppet-agent feature (1.16.0)

When the target hostname is localhost, the puppet-agent feature is automatically added to the target, because the Puppet agent installed with Bolt is present on the local system. This functionality is available on all transports, not just the local transport. (BOLT-1200)

Tasks use the Bolt Ruby interpreter only for localhost (1.16.0)

Bolt sets its own installed Ruby as the default interpreter for all .rb scripts running on localhost. Previously, this default was used on all commands run over the local transport; it's now used when the hostname is localhost regardless of the transport. (BOLT-1205)

Fact indicates whether Bolt is compiling a catalog (1.16.0)

If Bolt is compiling a catalog, $facts['bolt'] is set to true, allowing you to determine whether modules are being used from a Bolt catalog. (BOLT-1199)

YAML plans (1.15.0)

You can now write plans in the YAML language. YAML plans run a list of steps in order, which allows you to define simple workflows. Steps can contain embedded Puppet code expressions to add logic where necessary. For more details about YAML plans, see Writing plans in YAML. For an example of a YAML plan in use, see the Puppet blog. (BOLT-1150)

This version also adds analytics data collection about the number of steps and the return type of YAML plans. (BOLT-1193)

Support for Red Hat Enterprise Linux 8 (1.15.0)

A Bolt package is now available for RHEL 8. (BOLT-1204)

Improved load time (1.15.0)

Bolt startup is now more efficient. (BOLT-1119)

Details about Result and ResultSet objects (1.15.0)

The Result and ResultSet objects now include information in the JSON output about the action that generated the result. (BOLT-1125)

Inventory warning about unexepected keys (1.15.0)

An informative warning message is now logged when invalid group or node configuration keys are detected in the inventoryfile. (BOLT-1017)

BoltSpec::Run support for uploading files to remote systems (1.15.0)

BoltSpec::Run now supports the upload_file action. (BOLT-953)

Support for Puppet device modules in a manifest block (1.14.0)

You can now apply Puppet code on targets that can't run a Puppet agent using the remote transport via a proxy. This is an experimental feature and might change in future minor (y) releases. (BOLT-645)

Validation and error handling for invalid PCP tokens (1.14.0)

The PCP transport token-file configuration option now includes validation and a more helpful error message. (BOLT-1076)

SMB file transfer on Windows (1.13.0)

When transferring files to a Windows host, you can now optionally use the SMB protocol to reduce transfer time. You must have either administrative rights to use an administrative share, like \\host\C$, or use UNC style paths to access existing shares, like \\host\share. You can use SMB file transfers only over HTTP, not HTTPS, and SMB3, which supports encryption, is not yet supported. (BOLT-153)

Interpreter configuration option (1.13.0)

An interpreters configuration option enables setting the interpreter that is used to execute a task based on file extension. This options lets you override the shebang defined in the task source code with the path to the executable on the remote system. (BOLT-146)

Improved error handling (1.13.0)

Clearer error messages now alert you when you use plan functions not meant to be called in apply blocks. (BOLT-1131)

Updated project directory structure (1.12.0)

Within your project directory, we now recommend using a directory called site-modules, instead of the more ambiguously named site, to contain any modules not intended to be managed with a Puppetfile. Both site-modules and site are included on the default modulepath to maintain backward compatibility. (BOLT-1108)

bolt puppetfile show-modules command (1.12.0)

A new bolt puppetfile show-modules command lists the modules, and their versions, installed in the current Boltdir. (BOLT-1118)

BoltSpec::Run helpers accept options consistently (1.12.0)

All BoltSpec::Run helpers now require the params or arguments argument to be passed. (BOLT-1057)

bolt task show displays module path (1.11.0)

Task and plan list output now includes the module path to help you better understand why a task or plan is not included. (BOLT-1027)

PowerShell scripts over the PCP transport (1.11.0)

You can now run PowerShell scripts on Windows targets over the PCP transport. (BOLT-830)

RSA keys with OpenSSH format (1.11.0)

RSA keys stored in the OpenSSH format can now be used for authentication with the SSH transport. (BOLT-1124)

Support for new platforms (1.11.0)

Bolt packages are now available for these platforms:

Hyphens allowed in aliases and group names (1.10.0)

Node aliases and group names in the Bolt inventory can now contain hyphens. (BOLT-1022)

Improved out-of-the-box tasks (1.9.0)

The package and service tasks now select task implementation based on available target features while their platform-specific implementations are private. (BOLT-1049)

Respect multiple PuppetDB server_urls (1.9.0)

Bolt now tries to connect to all configured PuppetDB server_urls before failing. (BOLT-938)

Standard library functions (1.8.0)

Bolt now includes several standard library functions useful for writing plans, including:
  • ctrl::sleep

  • ctrl::do_until

  • file::read

  • file::write

  • system::env

See  Plan execution functions and standard libraries for details. (BOLT-1054)

Configure proxy SSH connections through jump hosts (1.7.0)

You can now configure proxy SSH connections through jump hosts from the inventory file with the proxyjump SSH configuration option. (BOLT-1039)

Query resource states from a plan (1.7.0)

You can now query resource states from a plan with the get_resources function. (BOLT-1035)

Specify an array of directories in modulepath (1.7.0)

You can now specify an array of directories for the modulepath setting in bolt.yaml, rather than just a string. This change enables using a single bolt.yaml on both *nix and Windows clients. (BOLT-817)

Save keystrokes on modulepath, inventoryfile, and verbose (1.7.0)

You can now use shortened command options for modulepath (-m), inventoryfile (-i), and verbose (-v). (BOLT-1047)

Remote tasks (1.6.0)

You can now run tasks on a proxy target that remotely interacts with the real target, as defined by the run-on option. Remote tasks are useful for targets like network devices that have limited shell environments, or cloud services driven only by HTTP APIs. Connection information for non-server targets, like HTTP endpoints, can be stored in inventory. (BOLT-791)

reboot module plan (1.6.0)

Bolt now ships with the reboot module, and that module now provides a plan that reboots targets and waits for them to become available. (BOLT-459)

Local transport on Windows (1.6.0)

The local transport option is now supported on Windows. (BOLT-608)

bolt_shim module contents marked as sensitive (1.6.0)

The bolt_shim module that enables using Bolt with PE now marks file content as sensitive, preventing it from being logged or stored in a database. (BOLT-815)

Node aliases (1.5.0)

You can now specify aliases for nodes in your inventory and then use the aliases to refer to specific nodes. (BOLT-510)

Run apply with PE orchestrator without installing puppet_agent module (1.5.0)

Bolt no longer requires installing the puppet_agent module in PE in order to run apply actions with the PE orchestrator. (BOLT-940)

Boltapply with orchestrator (1.4.0)

A new puppetlabs-apply_helper module enables using Boltapply with orchestrator. For details, see the module README. (BOLT-941)

Add targets to a group (1.4.0)

A new add_to_group function allows you to add targets to an inventory group during plan execution. (BOLT-942)

Additional plan test helpers (1.4.0)

The BoltSpec::Plans library now supports unit testing plans that use the _run_as parameter, apply, run_command, run_script, and upload_file. (BOLT-984)

Data collection about applied catalogs (1.4.0)

If analytics data collection is enabled, we now collect randomized info about the number of statements in an apply block, and how many resources that produces for each target. (BOLT-644)

Docker transport for running commands on containers (1.3.0)

A new Docker transport option enables running commands on container instances with the Docker API. The Docker transport is experimental because the capabilities and role of the Docker API might change.(BOLT-962)

Wait until all target nodes accept connections (1.3.0)

A new wait_until_available function waits until all targets are accepting connections, or triggers an error if the command times out. (BOLT-956)

Apply Puppet manifest code with bolt apply command (1.2.0)

The command bolt apply has been added to apply Puppet manifest code on targets without wrapping them in an apply() block in a plan.
Note: This command is in development and subject to change.
(BOLT-858)

Python and Ruby helper libraries for tasks (1.2.0)

Two new libraries have been added to help you write tasks in Ruby and Python:

Use these libraries to parse task input, catch errors, and produce task output. For details, see Task Helpers. (BOLT-906 and BOLT-907)

Redacted passwords for printed target objects (1.2.0)

When the Target object in a Bolt plan is printed, it includes only the host, user, port, and protocol used. The values for password and sudo-password are redacted. (BOLT-944)

Share code between tasks (1.1.0)

Bolt includes the ability to share code between tasks. A task can include a list of files that it requires, from any module, that it copies over and makes available via a _installdir parameter. This feature is also supported in Puppet Enterprise 2019.0. For more information see, Sharing task code. (BOLT-755)

Upgraded WinRM gem dependencies (1.1.0)

The following gem dependencies have been upgraded to fix the connection between OMI server on Linux and the WinRM transport:
  • winrm 2.3.0

  • winrm-fs 1.3.1

  • json-schema 2.8.1

(BOLT-929)

Mark internal tasks as private (1.1.0)

In the task metadata, you can mark internal tasks as private and prevent them from appearing in task list UIs. (BOLT-734)

Upload directories via plans (1.1.0)

The bolt file upload command and upload_file action now upload directories. For use over the PCP transport these commands require puppetlabs-bolt_shim 0.2.0 or later. (BOLT-191)

Support for public-key signature system ed25519 (1.1.0)

The ed25519 key type is now supported out-of-the-box in Bolt packages. (BOLT-380)

Back to top
The page rank or the 1 our of 5 rating a user has given the page.
The email address of the user submitting feedback.
The URL of the page being ranked/rated.