April 2021 Releases

We’re pleased to announce the next set of Choria releases, these are bug and feature releases.

We’re starting to add the concept of a Service to Choria, a Service is a special kind of Agent that rather than requiring discovery and handling multiple results will only ever have 1 response. The Agents hosted as Services will form a load balanced group with High Availability and Reliability being the focus.

We will use these to create node inventory services, configuration services for Scout and eventually also move our AAA signing over to this format so that no TCP ports are needed other than the brokers. Foundational level features are being released today, but we are still working on the big picture here.

We have recreated the long broken choria plugin doc command and move the choria tool generate commands also into choria plugin, for plugin doc invoking the mco equivalent will call into Choria, but the old generate commands in mco was too different so invoking those will now fail inviting you to invoke choria plugin generate instead. Plugin documentation has been reformatted to look a bit nicer and now also support generating Markdown format output.

We updated our underlying NATS Server to version 2.2.2 which brings many stability and feature improvements. The main feature is a system called JetStream that is already enabled within Choria - though more on that at a later stage as we refine our particular use cases. If you wish to explore JetStream within Choria please reach out to us on the usual community channels.

A huge feature for us is that Websocket support has landed in the NATS. Today we do not yet expose these ports in Choria but I’d love to hear from the community who would prefer this rather than our traditional TCP ports.

Read all about NATS 2.2.2 on its announcement blog post.

Special thanks to Romain Tartière for his contributions in this release.

Choria Server version 0.22.0

Links: Changes, Release


  • JetStream Adapter can publish to wildcard streams with per identity subjects
  • Default to the choria account for leafnodes
  • Support the old boolean_summary aggregator and generic output name remapping in summary aggregator
  • Enable new Go based action policy by default
  • Support wider duration specification by supporting week, month, year etc
  • Create choria plugin doc and move tool generate to plugin generate
  • Import the provisioning agent into this code base since it’s now always compiled in
  • Autonomous Agent transitions now support a human friendly description
  • Initial support for Service Agents

Bug Fixes

  • Use correct target for registration messages
  • Fix ordering of leafnode and accounts setup
  • Improve consistency of time durations in ping output
  • Increase leafnode authentication timeout
  • Improve startup logs when skipping agents in specific providers
  • Handle filter expressions that are not obviously boolean better

choria-mcorpc-support gem version 2.24.3

Links: Changes, Release


  • Remove Ruby based code generators
  • Set the environment variable PT__task
  • Improve UX for users of choria.use_srv_records

Bug Fixes

  • Align MCollective::Util::Choria options processing with choria
  • Avoid exceeding the stack when logging setup fails

choria/choria version 0.23.1

Links: Changes, Release

  • Update to the latest Choria Server

choria/mcollective_choria version 0.20.3

Links: Changes, Release

  • Update versions of the Ruby support system

See also