Skip to content

Releases: choria-io/go-choria

0.10.0

23 Jan 09:50
03dd33c
Compare
Choose a tag to compare

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 release 0.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

27 Dec 12:21
a5d5101
Compare
Choose a tag to compare

Bug Fixes

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

30 Nov 13:23
2430c9b
Compare
Choose a tag to compare

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

18 Oct 23:19
33ad178
Compare
Choose a tag to compare

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

27 Aug 16:16
86b6965
Compare
Choose a tag to compare

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 and tool 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

16 Aug 10:23
7d0a215
Compare
Choose a tag to compare

Enhancements

  • Support a fact source during provisioning mode (#394)
  • Support an auth token during provisioning (#398)

Bug Fixes

  • Avoid leaking metrics in long running clients that make many new client instances (#390)
  • Fix registration handling when in provisioning mode (#394)
  • Ensure insecure provisioning mode works on non puppet nodes (#403)

0.5.0

20 Jul 15:40
0bdd118
Compare
Choose a tag to compare

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

31 May 09:30
db9920a
Compare
Choose a tag to compare

Enhancements

  • Create go-security package with the Choria security providers for reuse in other eco system projects (#309)
  • Include a hint when the source data for registration changed (#302)

Bug Fixes

  • Make the enroll process more robust in the face of interruptions (#320)
  • Fix running choria buildinfo (#308)
  • Fix registration feature when running in insecure mode (#306)

0.3.0

16 May 09:16
61286c3
Compare
Choose a tag to compare

Enhancements

  • Create a security provider abstraction, support manual config, puppet integration and choria enroll (#287)
  • Logrotate choria-*.log (#271)

Bug Fixes

  • On systemd based distributions ensure that upgrading choria with Puppet is more reliable (#284)
  • Ensure that the ruby shim based agents have access to the correct request time (#267)

0.2.0

24 Apr 15:09
50dc714
Compare
Choose a tag to compare

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 and host: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)

Bug Fixes

  • Avoid rotating empty log files and ensure the newest log is the one being written to (#218)
  • Avoid logrotate errors when the package was installed but choria never ran (#252)