It’s time for our next release and this one is packed full of goodies after quite a long development period. While our previous release was more about internal plumbing this one brings exciting user visible quality of life improvements and significant new features.
We recently introduced App Builder, a operations tool for building custom CLI commands that wrap many tools into one single app.
In Choria we extend the App Builder to have the ability to interact with Key-Value Stores, initiate RPC requests and perform discovery.
To use this simply change your app symlink from
See the App Builder Documentation for full reference of the extensions Choria adds.
choria Command UX
We forked the Kingpin CLI parser into a Choria project called Fisk that extends Kingpin in various ways and introduce some breaking changes. We now use Fisk in all our tools.
As part of moving to Fisk the help output from
choria has been changed significantly to be shorter and easier
to navigate with less superfluous information on every page.
We also add a new
cheat feature to the CLI that gives you access to cheat sheet style help, here’s an example:
$ choria cheat req # further documentation https://choria.io/docs/concepts/cli/ # request the status of a service choria req service status service=httpd ...
choria cheat for a list of available cheats, contributions to these would be greatly appreciated!
We now have full integration testing where real running clusters are built and real network round trips are tested, this is a significant step forward in achieving reliability in the long run.
We also now do daily tests of installing Choria using Puppet on every support Linux Distro.
We now publish packages for EL9 and Ubuntu 22.04. Debian packages are tagged by their distribution name to help with mirroring.
We removed Ubuntu Xenial, Debian Stretch and EL6.
Special thanks to Jonathan Matthews, Vincent Janelle, Nicolas Le Gaillart, Lena Schneider and Romain Tartière for their contributions.
- The Anonymous TLS mode introduced here has been removed in favor for recent JWT enhancements
- Remove the Provisioner agent
release_updateaction that was never used
- Remove obsolete operating system distributions - EL6, Xenial and Stretch
- Debian packages are distro tagged, Ubuntu 22.04 LTS supported but not published due to compatability issues
- El9 is supported, EL6 removed
- KV Watcher will now template parse Keys
- Exec Watcher can now do an initial splayed run before starting schedules
- Provisioner JWT can have extended details added to it for site specific information
- UX improvements to –help
- Cheat Sheet style help via
- Client JWT has a new permission that allow access to the system account, system account does not require verified TLS
- Adds the
choria kv createand
choria kv updatecommands
fiskfor the CLI parsing
- Support Subject Mappings within Choria Broker
- Embed the
- Reply filters have a new
- Expand the
inventoryregistration payload to include version, hash and auto agent information
- Allow slow TTLs for leader elections
- Improve reliability of clean shutdowns
- Reject agents without a name or too small timeout
- Support skipping system stream management
- UX improvements for
- When using the embedded
natscli allow a custom Choria configuration to be set
- Adds full end to end integration testing
- Improve logging during initial connection establishment
- Switch to go 1.18
- Redact some passwords when logging
- Prevent client permissions from being set on servers, only possible by using the broker as a library
- Improve validity checks in JWT token caller id
- Typo fixes in generated clients
- Work around breaking change in nats.go related to KV access
- Use correct credentials when running
choria broker server check jetstream
- Use correct credentials when running
choria broker server check kv
- Improve hostname validation checks in
- Support Linux Mint and EL9
- Support distro code tagged deb packages
- Support EL9