Releases: choria-io/go-choria
Releases · choria-io/go-choria
0.10.0
Enhancements
- Allow limiting clients to sets of IPs via
go-network-broker#12
- Force exit even when worker routines are not done after
soft_shutdown_timeout
, default 2 seconds (#532) - Include the server version when creating life cycle events (#524)
- Expose
security.Validate
to users of the go framework (#519)
Bug Fixes
- Various fixes to privileged security certificate handling via
go-security
release0.3.0
- Ensure the server status file is world readable (#543)
- Further fixes to avoid concurrent hash access panics for golang client code (#530)
- Improve
alive
event spread by sleeping for up to a hour for initial publish (#521)
0.9.0
Bug Fixes
- Fix reboot splay time when doing self updates (choria-io/provisioner#67)
Enhancements
- Allow server status to be written during provision mode (#495)
- Allow default configuration values to be mutated at startup using a plugin (#501)
- Report protocol security and connector TLS in choria_util#info (choria-legacy/mcorpc-agent-provider#33)
- Support ~/.choriarc and /etc/choria/client.conf for client configs
- Publish new alive life cycle events every hour (#510)
- Cache facter lookups (#515)
- Increase choria_util agent timeout to facilitate slow facter runs (choria-legacy/mcorpc-agent-provider#36)
0.8.0
Bug Fixes
- Avoid a panic that affected clients written in Go when closing connections to the broker (#489)
- Improve backward compatibility when handling slashes in regex for allowed certs (choria-legacy/go-security#22)
- Fail gracefully in the ping app when the configuration is not present (#485)
- Resolve a client subscription leak by unsubscribing on context cancellation (#483)
- Validate certificate before caching and using a cached cert (choria-legacy/go-security#16)
Enhancements
- When provisioning is compiled in - support self updating using go-updater (choria-io/provisioner#53)
- Allow the SSL cache to always be written via
plugin.security.always_overwrite_cache
(#476) - Support running Choria Server in a namespace on Enterprise Linux via a COMMAND_PREFIX in the init script (#473)
- Support writing server status regularly (#476)
- Switch to github.com/gofrs/uuid for UUID generation
- Support intermediate certificates during validation (choria-legacy/go-security#13)
0.7.0
Enhancements
- Correctly compiled servers will enter provisioning mode when the configuration file is missing entirely (#426)
- Add a CLI tool to view provisioning broker decisions -
tool provisioner
(#428) - Allow agents to publish lifecycle events (#430)
- Set ulimits for the broker appropriately for 50 000 connections (#444)
- Create a single plugin interface that supports many types of plugin (#447)
- Provisioner Target plugins now have a context in their calls so they can do internal retries (#456)
- Update network broker to 1.1.0 which includes
gnatsd
1.3.0 (#458) - Allow custom packages to supply their own sysv init start order (#462)
0.6.0
Enhancements
- Add a plugin to assist with resolving the provisioning mode target brokers (#408)
- Attempt to find the FQDN via DNS lookups before calling Puppet when the hostname is incomplete (#412)
- Expose the version to Prometheus as
choria_build_info
(#411) - Publish a startup lifecycle event on startup (#416)
- publish a shutdown lifecycle event on clean shutdowns (#422)
- Add
tool event
,tool sub
andtool pub
commands to the CLI (#419) - Update provisioning agent dependency, allows restart when not in provisioning mode if a token is set (choria-io/provisioner#41)
Bug Fixes
- Ensure provisioning mode is active only for the server and not client invocations (#402)
0.5.1
0.5.0
Enhancements
- Randomize broker connections by default (#333)
- Add a high performance, filtering capable basic network validation CLI choria ping (#346)
- Consult
/etc/choria/client.cfg
and~/.choria
in addition to mcollective locations (#366) - When embedding the Choria Server one can now prevent certain agents from loading (#362)
- When embedding the Choria Server initial startup errors can now be detected and handled (#361)
- Support Ubuntu 18.04 (#373)
- When adapting Choria messages to NATS Streams include the Choria RequestID (#377)
- Improve mcollective compatability by supporting shallow merges of multiple fact files (#382)
Bug Fixes
- Add a short grace period to clock checks to allow for real world realities wrt synced clocks (#331)
- Fix the setting that allows disabling broker order randomization (#336)
- Ensure non root users - like clients - get a username based certname not FQDN one (#341)
- Resolve the merging of identity & certname concepts that erronously happened during the security refacor (#343)
- Handle connection errors in NATS Streaming brokers in the Adapters, require NATS Streaming >= 0.10.0 (#353)
- Resolve a go routine leak when using the connector in a long running client (#359)
- Update gnatsd to
1.2.0
to improve stability at >30k nodes when clustered (choria-legacy/go-network-broker#6) - Disable full JSON schema validation by default due to performence concerns (choria-legacy/go-protocol#23)
- Ensure all loggers are configured with the correct level and format (#375)
- Increase the NATS Stream Adapter work channel size to function on large networks (#379)
0.4.0
0.3.0
0.2.0
Enhancements
- Create a compatability framework for MCollective Agents written in Ruby (#243)
- When facter is available use it to determine the FQDN to improve default behaviour on debian like systems (#240)
- Allow
nats://host:port
andhost:port
to be used when referencing brokers (#236) - Detect empty initial server list when starting federation brokers (#235)
- Surface more NATS internal debug logs as notice and error (#229)
- Increase TLS timeouts to 2 seconds to improve functioning over latency and heavily loaded servers (#228)
- Do not use HTTP to fetch internal NATS stats (#199)
- Update gnats and go-nats to latest versions (#220)
- Allow the network broker write deadline to be configured (#222)