VERSION 2.38.0

*in this release*

✨  *new features*

   - Users can now use the same default configuration used by the
localhost target
   for other targets using the local transport by setting the
bundled-ruby config
   option. Enabling this option will automatically set the puppet-agent feature
   and use Bolt's bundled Ruby instead of the system's Ruby. For more
   information about this option, see the transport configuration reference
   
<https://puppet.com/docs/bolt/latest/bolt_transports_reference.html#bundled-ruby>
   .
   - We've improved Bolt's inventory validation so that it displays most
   errors for an inventory file in a single message, along with the location
   of the error. Bolt leverages its own inventory schema for this validation,
   which you can also use in VS Code
   
<https://puppet.com/docs/bolt/latest/vscode_and_bolt.html#validating-configuration-and-inventory-files-with-json-schemas>
   to validate your files as you write them.
   - Bolt now displays a spinner on the command line while executing
   long-running commands so you can tell if Bolt is hanging or if the command
   is still running. If you want to disable the spinner, you can do so
by setting
   the spinner config option
   <https://puppet.com/docs/bolt/latest/bolt_project_reference.html#spinner>
   .
   - We've added a new JSON schema for YAML plans that you can use in VS
   Code (or any other editor that supports a YAML language server) when
   writing YAML plans. For more information about using Bolt's schemas, see the
   documentation <https://puppet.com/docs/bolt/latest/vscode_and_bolt.html>.
   - Need to install modules through a proxy or from an alternate Forge?
   You can now configure the module-install option to configure proxies and
   an alternate Forge when installing modules with the
   bolt module add|install commands or
   Add|Install-BoltModule cmdlets. To learn more about this config option,
   see the project configuration reference
   
<https://puppet.com/docs/bolt/latest/bolt_project_reference.html#module-install>
   .

   *This option is not currently supported when resolving module
   dependencies. For more information, see our known issues
   
<https://puppet.com/docs/bolt/latest/bolt_known_issues.html#resolving-module-dependencies-does-not-support-proxies-or-alternate-forge>.*


🔧  *bug fixes*

   - Commands run on a Windows controller using the local transport now
   return the command's real exit code, instead of just 0 or 1. These commands
   now also support the use of pipes.
   - The puppetdb config option once again accepts plugin references after
   being erroneously disabled when we updated how Bolt validates config.
   - Bolt will now only warn that it will not load project-level content
   when a project is unnamed if the project directory has a files/, plans/,
   or tasks/ directory.
   - The puppetdb plugin now supports plugin caching. Previously, setting
   the _cache key for the plugin would raise an unknown key error.
   - The http_request task now correctly converts each header under the
   headers parameter to a string.


VIEW FULL RELEASE NOTES
<https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md#bolt-2380-2020-12-14>

*in the works*

   - Work continues on improving Bolt's performance on Windows. We should
   have everything ready for this improvement when Bolt 3.0 releases.
   - Work continues on deprecating features that will be removed in Bolt
   3.0.

   - Work continues on supporting module-install configuration when
   resolving module dependencies.

*nuts and bolts*

Each month, we'll highlight a different Bolt feature and cover the details
of what it is, why you might want to use it, and how it can be used in your
workflows.

December's highlighted feature is: *plugins*!

*What are plugins?*

Plugins are special tasks that can be used to dynamically load information
during a Bolt run and change how Bolt executes certain actions. You can use
plugins in several locations, including configuration files, inventory
files, and plans.


*Why should I use plugins?*

There are many different reasons you should use plugins. For example, you
might want to use a plugin if you need to:


   - Decrypt sensitive values such as passwords
   - Load targets from an external service, especially if the targets are
   ephemeral
   - Reuse portions of a configuration or inventory file in another file
   - Prompt the user for input

A good rule of thumb for when using a plugin might be helpful is when it is
not desirable or impossible to write data directly to a configuration file,
inventory file, or plan.


*What sorts of plugins are available?*

Bolt ships with several plugins that are available without the need to
install additional modules or dependencies. You can find a full list of
Bolt's supported plugins in our documentation
<https://puppet.com/docs/bolt/latest/supported_plugins.html>.

We've also had several Bolt users create their own plugins and share them
with the community. Check out Bolt's third-party plugins
<https://github.com/puppetlabs/bolt/blob/main/resources/plugins.md> for a
full list of what's available. If you write your own plugin and want to
share it with others, feel free to submit a pull request to add it to the
list!


*How do I write a plugin?*

If you know how to write tasks
<https://puppet.com/docs/bolt/latest/writing_tasks.html>, you're already
95% of the way towards knowing how to write a plugin! To learn more about
writing plugins, see our writing plugins
<https://puppet.com/docs/bolt/latest/writing_plugins.html> guide.


VIEW THE DOCUMENTATION
<https://puppet.com/docs/bolt/latest/using_plugins.html>
[image: Tw] <https://twitter.com/puppetize> [image: Yt]
<https://www.youtube.com/channel/UCPfMWIY-qNbLhIrbZm2BFMQ> [image: In]
<https://www.linkedin.com/company/puppet/>

*Bolt Documentation <https://puppet.com/docs/bolt/latest/bolt.html>*

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAGdD-pXONYefcyhJvYdd86DY5K6Z8aeDLNxOrLXFYAbSJpb1Qw%40mail.gmail.com.

Reply via email to