in this release |
✨ new features |
- The out::message plan function is now more flexible and can be used to print any valid data type. A data type that is a plan result will be pretty-printed, while all other data types will be stringified. To learn more about the out::message plan function, see Bolt functions.
- Now that Bolt projects are stable, the bolt project init and
New-BoltProject commands have been updated to create a bolt-project.yaml file. The commands take an optional argument that can be used to give your project a name. If a name is not provided, Bolt will automatically give your project the same name as the project directory. To learn more about Bolt projects, see Bolt projects.
- The ctrl::do_until plan function now accepts an interval option. This option is used to specify the number of seconds to wait before repeating the block of code. To learn more about using the ctrl::do_until plan function, see Bolt functions.
|
🔧 bug fixes |
- Bolt now correctly shows the user-configured modulepath when showing task and plan information. Previously, if the user-configured modulepath included the path to Bolt's bundled modules, the displayed modulepath would be incorrect.
- The YAML plan message step now correctly handles non-string data types. Previously, if the message step received an enumerable data type, such as an array or hash, it would cause Bolt to raise an error.
- Bolt will no longer error when a user's analytics configuration file is empty and will write a new analytics configuration file instead. Previously, if the file was empty Bolt would raise an obscure NoMethodError.
|
|
SEE THE FULL RELEASE NOTES |
|
in the works |
- In an effort to make it easier to debug when using Bolt content, we are developing a default debug log that will be written to each time Bolt runs. As part of this effort, we are also auditing the log messages that Bolt writes to determine which messages to keep and which levels to log them at, with the intent of making it easier to find the information you need and to provide more helpful contextual messages on what Bolt is doing.
- Work has started on understanding the source of performance issues when running Bolt on Windows and macOS, and the different solutions we can implement to help improve performance.
- The bolt project migrate command is being reworked so it's easier for users with existing project directories to start using Bolt projects.
- We are continuing to rework our documentation to be clearer and more detailed. In the short-term, we'll be working on the information architecture for our documentation, including the hierarchy of the documentation navigation.
| |
nuts and bolts |
Each week, we'll highlight a different Bolt feature and cover the details on what it is, why you might want to use it, and how it can be used in your workflows.
This week's highlighted feature is: Bolt projects! |
What is a Bolt project?
A Bolt project is a directory that serves as the launching point for Bolt and allows you to create a shareable orchestration application that members of your team can quickly start using. Bolt projects contain all of the configuration and content relevant to your project, including the inventory file and content such as tasks and plans. Why should I use a Bolt project?
Bolt projects make it easier to manage your Bolt project and can be utilized by other tools that use Bolt content. Additionally, Bolt projects enable several features that benefit both project authors and project consumers. - Content allowlists
Project authors can specify an allowlist for both tasks and plans in their project's configuration, limiting which tasks and plans appear in the user interface.
- Project-level content
Project authors can quickly develop Bolt and Puppet content in the project directory without the need to create a module, speeding up the process of writing new tasks, plans, and manifests.
- Generate new plans
Projects enable the bolt plan new command, which will create a new plan in the project's plans directory.
How do I create a Bolt project?
To create a new Bolt project, all you need to do is create a file named bolt-project.yaml in your project directory and give your project a name by setting the name key in the file.
You can also have Bolt create a Bolt project for you by running the bolt project init command in Unix shells or the New-BoltProject command in PowerShell.
|
SEE THE DOCUMENTATION |
|
|
|
|