-
Notifications
You must be signed in to change notification settings - Fork 42
Version Updates
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.
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.
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
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
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
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.
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.
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.
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.
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.
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.