Skip to content

Releases: choria-io/go-choria

0.24.0

21 Sep 18:22
v0.24.0
54a5aca
Compare
Choose a tag to compare

Enhancements

  • Adds a helper to assist in creation of Governors from automation tools
  • Allow provisioning of Action Policies and Open Policy Agent Policies via Choria Provisioner
  • Support listing known Governors
  • Add --force / -f to choria governor add
  • Add a splay option to the Timer Watcher
  • Various refactors of Debian packages to behave more consistently with RedHat startup/restart flows
  • Introduce a faster broadcast discovery timeout using sliding windows, behind a opt-in setting
  • Allow Autonomous Agents to be compiled into the server as plugins
  • Initial support for performing AAA Server signing requests via Choria Services rather than HTTPS
  • Internal refactoring to improve cross/cyclic package import problems

Bug Fixes

  • Do not attempt to also load embedded Autonomous Agents from disk
  • Do not create unconfigured Governors when viewing a non existing Governor
  • Create the plugin.choria.machine.store directory if it does not exist
  • Do not update file mtime on skipped checks in the File watcher
  • Handle JSON data in data better in Autonomous Agent data layer allowing for nested lookups
  • Fix logging of embedded NATS Server to Choria logs

0.23.0

24 Aug 16:35
v0.23.0
d2bc0b8
Compare
Choose a tag to compare

Enhancements

  • Improve DDL data types for core DDL files
  • Allow the Choria Server to run in an Services-Only mode
  • Support Websockets for connectivity from Leafnodes and Choria Server to Choria Broker, also Go clients
  • Initial implementation of the choria_registry service agent
  • Adds a choria login command that supports delegating to choria-login in PATH
  • Improve sorting of choria inventory columns
  • Fail when a client cannot determine its identity
  • Allow the default collective to be set at compile time
  • Allow the default client suffix to be set at compile time (eg. rip.mcollective user id)
  • Allow a random sleep at the start of schedules for the Schedule watcher
  • Rate limit fast transitions in autonomous agents
  • Use default client-like resolution to find brokers in the JetStream adapter when no urls are given
  • Introduce Choria Submission to allow messages to be placed into Streams via Choria Server
  • Support PKCS8 containers
  • Introduce Choria Governor for network wide concurrency control
  • Support Governors in the Exec Autonomous Agent watcher
  • Additional Prometheus statistics for Choria Streams
  • Add a Autonomous Agent level data store, allow Exec Watchers to gather and store data in a Auto Agent
  • Allow Exec Watchers to access node facts
  • Add a Choria Key-Value Store accessible using choria kv and a new kv Autonomous Agent Watcher
  • Expose kv data to the Autonomous Agent data system
  • Support templates in Exec Watcher cmd, env and governor
  • Export certificate expiry time in Choria status files, support checking from CLI and Scout
  • Support Asynchronous Request mode in generated Go clients
  • Extend the RPC Reply structure to include what action produced the data
  • Use correct Choria reply subjects when interacting with the Streams API
  • Improve the broker shutdown process to cleanly shut down Choria Streams
  • Allow compiled-in Go agents to access the Submission system
  • Rename the jetstream adapter to choria_streams
  • Disable RPC Auth during provisioning mode
  • Support entering provisioning mode when the supplied server.conf does not exist
  • Generated clients can accept a Choria Framework, avoiding config loading etc
  • Include the time a RPC Reply was generated in the reply
  • Include the Public Key in the CSR reply, add data type hints to the provisioner DDL and update client
  • Support receiving private keys from the provisioner, protected using Curve 25519 ECDH shared secrets
  • Correctly enter provisioning with a configuration file and without a Puppet installation
  • Ensure SSL Cache is created if needed during provisioning
  • Support sorting choria req output by identity using --sort
  • Enable the choria_provision agent when provisioning is supported
  • Support Debian 11

Bug Fixes

  • Fix setting workers and expr filter on generated clients
  • Ensure no responses list and unexpected responses list always prints, capped to 200 nodes

v0.22.0

22 Apr 18:56
v0.22.0
02bdef2
Compare
Choose a tag to compare

Enhancements

  • 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 acounts 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

0.21.0

30 Mar 18:01
v0.21.0
e5d565f
Compare
Choose a tag to compare

Enhancements

  • Add a new registration plugin that sends the running inventory rather than file contents
  • Support enabling listening pprof port
  • Restore the data plugin report in rpcutil#inventory
  • Create a choria account in NATS, move all connections there, enable system account
  • Add a machine_state data plugin
  • Support retrieving a single choria autonomous agent state using choria_util#machine_state
  • Support building ppc64le EL7 and EL8 RPMs
  • Drop support for Enterprise Linux 6 due to go1.16

Bug Fixes

  • Fix validation for integers in the DDLs
  • Fail choria facts when no nodes match supplied filters
  • Do not send the filter verbatim in choria req
  • Add a client specific TLSConfig(), improve adapters and federation support for legacy certs
  • Correctly calculate advertise URL
  • Improve support for Clustered JetStream
  • Improve ping response calculations in federated networks
  • Avoid unnecessary warning level logs
  • Correctly detect stdin discovery
  • Improve stability of choria scout watch

0.20.2

03 Feb 14:41
v0.20.2
e10a7c6
Compare
Choose a tag to compare

Bug Fixes

  • Avoid logging at warning about SAN security - the default level for clients.

0.20.1

03 Feb 14:09
v0.20.1
6dee4c8
Compare
Choose a tag to compare

Bug Fixes

  • Disable legacy SAN free validation in the broker

0.20.0

03 Feb 11:25
v0.20.0
5628266
Compare
Choose a tag to compare

Enhancements

  • Sort classes tags in discovery command and elsewhere
  • Initial support for Data Providers, add choria, scout, config_item providers
  • Perform identity-only discovery optimization in broadcast and puppetdb discovery methods
  • Add a --silent flag to choria discover to improve script integration
  • Support go 1.15 by putting in work around to support Puppet SAN free TLS certificates
  • Add a bash completion script in choria completion in addition to current ZSH support
  • Adds a new inventory discovery method
  • Improve SRV handling when trying to find PuppetDB host
  • Improve choria tool config to show config files and active settings
  • Add project level Choria configuration
  • Allow options to be passed to discovery methods using --do
  • Support flatfile discovery from json, yaml, stdin and improve generated clients. Restore the --nodes flag
  • Add the external discovery method
  • Support request chaining in the req command
  • Restore the rpcutil#get_config_item and rpcutil#get_data actions

Bug Fixes

  • Improve progress bars on small screens
  • Ensure we discover rpcutil in the discover command, improves PuppetDB integration
  • Performance improvements for expr expression handling
  • Improve identity handling when running on windows, non root and other situations

v0.19.0

13 Jan 01:38
v0.19.0
8e510b8
Compare
Choose a tag to compare

Enhancements

  • Create a choria facts command
  • Support full GJSON Path Syntax in rpcutil#get_fact, fix a crash on map data in aggregators
  • Standardise filter and discovery CLI options
  • Support compound filters using expr
  • Basic support for Data plugin DDLs
  • Add expr based client-side filtering of RPC results
  • Calculate choria ping times from the moment before publish and report overhead
  • Support parsing nagios format Perfdata as output format for the metric watcher
  • Report the certificate fingerprint when doing choria enroll for Puppet CA
  • Add choria discover
  • Generated clients has a PuppetDB name source
  • rpc client will now honor the DefaultDiscoveryMethod setting for all clients
  • Add --dm to the choria req command to switch discovery method
  • Add a PuppetDB discovery method
  • Create generated clients for rpcutil, scout and choria_util in go-choria/client
  • Add choria inventory
  • Add a choria_status Nagios builtin allowing Choria to health checks from Scout
  • Ignore case when matching against configuration management classes
  • Ignore case when doing fact matching
  • Allow Autonomous Agent Watchers to be plugins, convert all core ones to plugins
  • Major code cleanups and and test coverage for the Autonomous Agents
  • Perform DNS lookups on every initial reconnect retry
  • Add a metrics Autonomous Agent watcher that can fetch and publish metrics
  • Use new JetStream features to improve retrieval of event history

Bug Fixes

  • Improve support for HTTPS servers discovered by SRV records by stripping trailing . in names
  • Improve support for the color option and disable it by default on windows
  • Avoid listening and registering with mDNS when Homekit is not used

0.18.0

25 Nov 09:44
v0.18.0
ceb6da9
Compare
Choose a tag to compare

Enhancements

  • Add a homekit autonomous agent watcher (#999)
  • Add a timer autonomous agent watcher (#999)

0.17.0

28 Sep 10:06
v0.17.0
a73953d
Compare
Choose a tag to compare

Enhancements

  • Add a generic shell completion helper and support ZSH completion (#989)
  • Support NATS Leafnodes to extend the Choria Broker in a TLS free way specifically usable by AAA clients (#987)
  • Scout checks can have annotations that are published in events (#982)
  • Add choria scout maintenance and choria scout resume commands (#920)
  • Add a choria scout trigger command that triggers an immediate check and associated events (#920)
  • Generated clients can now set a progress bar (#977)
  • Prevent int overflow in time fields in some Scout events (#975)
  • Add a --table option to choria req and a new formatter in generated clients (#920)
  • Add a choria scout status command that can show all checks on a node (#920)
  • Improve the history presented in Scout events (#968)
  • Remove the concept of a site wide Gossfile (#966)
  • Allow multiple Gossfiles and multiple Goss checks (#964)