Releases: choria-io/go-choria
Releases · choria-io/go-choria
0.24.0
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
tochoria 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
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 tochoria-login
inPATH
- 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 newkv
Autonomous Agent Watcher - Expose
kv
data to the Autonomous Agent data system - Support templates in Exec Watcher
cmd
,env
andgovernor
- 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 tochoria_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
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 movetool generate
toplugin 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
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
0.20.1
0.20.0
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
andpuppetdb
discovery methods - Add a
--silent
flag tochoria 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
andrpcutil#get_data
actions
Bug Fixes
- Improve progress bars on small screens
- Ensure we discover
rpcutil
in thediscover
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
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 thechoria req
command to switch discovery method - Add a PuppetDB discovery method
- Create generated clients for
rpcutil
,scout
andchoria_util
ingo-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
0.17.0
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
andchoria 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 tochoria 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)