Skip to content

Version Updates

Jake Callahan edited this page Oct 18, 2024 · 3 revisions

Version Update Information

0.5.z -> 0.6.0

The largest update to this version was the introduction of the broker config sub-command group. Other major changes are related to the CLI user experience.

broker config cli

In order to make it easier for users to view, edit, and share their configuration, we added this new sub-command group. You can find the full details of the new functionality on its dedicated page. However, here is how to use the core functionality.

broker config view

Simply just print out the config when no config chunk is passed in

broker config view

When a config chunk is passed in, print out just that chunk

broker config view Container

broker config view Container.instances.remote

broker config edit

Backup when actions are taken? When no chunk is passed in, edit the entire config file

broker config edit

When passed a valid config chunk, edit that chunk

broker config edit AnsibleTower

broker config view Container.instances.remote

broker config init

Allow users a more explicit way to get their settings

broker config init

# can also just init one chunk
broker config init Container

# can also choose the source file
broker config init Container --from /path/to/settings.yaml
broker config init --from https://raw.githubuser.../file.yaml

Significant CLI UX Changes

The most visually distinct change in this release is the increased use of rich to render output from broker inventory commands. Additionally, you'll see a major visual difference in help output thanks to rich-click.

With these changes in mind, we've moved the old inventory view to broker inventory --list and broker inventory now returns a more detailed table view.

Inventory Fields

The inventory_fields setting in Broker's configuration file allows you to customize the fields and values presented by the broker inventory command. This can be useful for tailoring the inventory output to your specific needs.

The inventory_fields setting is a dictionary where each key represents a column name in the inventory table, and each value specifies the corresponding field(s) from the inventory data. You can use multiple values separated by a pipe (|) to provide fallback options, or combine multiple values with a space to concatenate them. Check out your settings file for an example.

0.2.Z -> 0.3.0

This change includes a mix of major user-facing changes and large framework-level changes. For this page, we will only point out the user-facing changes.

Broker Directory Location

In previous versions, unless you had a BROKER_DIRECTORY environment variable set, Broker would attempt to run from the directory you were in. Starting in 0.3.0, Broker's default directory will now be ~/.broker/. Broker will still honor the BROKER_DIRECTORY environment variable when set.

Broker Settings

To simplify the initial configuration process, Broker will now download its example settings file from GitHub and place it in the Broker directory locally. CLI users will be prompted for permission and brought directly into an editor. Other users are considered "non-interactive" and will not be prompted. Additionally, the inventory_file setting can be removed from settings files for those that still have it. Broker will now always use inventory.yaml in the base Broker directory.

Filtering

Broker's filtering system had a complete rewrite for this release. While the concepts stayed the same, the syntax is now Python-based. For a complete breakdown of the new syntax, with examples, check the wiki reference.