IMPROVEMENTS:
- Add support for arm64 builds. [GH-98, GH-88]
- Update logging to use hclog. [GH-97]
- Add
log_json
configuration option to allow enabling JSON logging. [GH-105, GH-82] - Update
-version
output to standardize with other ecosystem projects. [GH-99, GH-87]
BUG FIXES:
- Fixed issue where anti-flapping counters were reset to zero when updating checks with latest from catalog. [GH-103]
IMPROVEMENTS:
- Add metrics support with configurable
telemetry
block. [GH-67] - Add configurable http endpoint to expose telemetry metrics. [GH-90, GH-89]
- Support anti-flapping with configuration options
passing_threshold
andcritical_threshold
. [GH-78, GH-50] - Update caught signal log from info-level to debug-level. [GH-79]
- Improve flaky tests. [GH-80]
- Add mTLS support for HTTPS checks with configuration options
https_ca_file
,https_ca_path
,https_cert_file
, andhttps_key_file
. [GH-81, GH-72]
BUG FIXES:
- Remove checking status when syncing checks, which can cause flapping. [GH-83]
- Reduce goroutines used in external-probe ping. [GH-85]
DOCUMENTATION:
- Fix outdated "Consul ACL Policies" to include
operator = "read"
needed for 0.4.0 feature to check ESM and Consul version compatibility. [GH-75 & GH-91, GH-74] - New documentation on finer-grained ACL policies and context on how each ACL is used. [GH-76, GH-77]
IMPROVEMENTS:
- Update to compile with Go version 1.13. [GH-64]
- Prevent health checks from running more frequently than once per second. [GH-63]
- Prevent spurious node status updates so that they only update on status change or status expiration. [GH-63]
- Allow disabling coordinate updates with
disable_coordinate_updates
configuration option. [GH-63] - Support clusters of over 64 ESM instances. [GH-63]
- Skip updating small changes in node coordinates. [GH-63]
- Add more logging. [GH-63]
- Add consul version compatibility check on startup. [GH-62]
- Switch to Go Modules. [GH-47]
- Allow setting a unique ESM instance id with
instance_id
configuration option. [GH-61, GH-60]
BUG FIXES:
- Fix an issue when there are no healthy Consul instances. [GH-48, GH-43]
- Fix broken ping by switching to new library. [GH-46, GH-45]
- Fix spurious updates that cause delays in updating health checks by reading health check in consistent mode. [GH-68]
DOCUMENTATION:
- Request users to use 👍 voting system to help prioritize issues and pull requests. [GH-57]
- Clarification on time when ESM becomes critical and deregisters. [GH-54]
- Minimum ACL rules required to run ESM. [GH-66]
BUG FIXES:
- Set a default check interval of 30s. This prevents the check from running in a busy loop if consul-esm gets back an empty check interval from the api.
- Fixed an issue where the catalog would not be updated despite a change in a health probe result.[GH-36]
BUG FIXES:
- Fixed an issue where updates to external nodes or their health by the user could be overwritten by Consul-ESM. Now uses the transaction API in Consul for catalog operations.
IMPROVEMENTS:
- Pings to external nodes now run in parallel over the
node_probe_interval
instead of serially.
BUG FIXES:
- Fixed an issue where the wrong KV path was used for node health.
IMPROVEMENTS:
- The work of health checking and node probing will now be divided up amongst all ESM agents that share a
consul_service
/consul_service_tag
/consul_kv_path
combination. This is done by the leader using the KV store for coordination. Theconsul_leader_key
field has been replaced byconsul_kv_path
, which is a path to a KV directory for a coordinating set of ESM nodes to share. - Added the
node_probe_interval
config field for controlling how often ESM will attempt to probe each external node. - Check definitions can now be updated in-place. [GH-17]
BUG FIXES:
- Fixed an issue where the coordinate loop would run constantly and burn CPU when there were no nodes to probe.
IMPROVEMENTS:
- Correctly exit on SIGTERM as well as SIGINT.
- Use a simpler UDP ping that doesn't require root privileges. [GH-5]
- Add a config option for setting the ping method (UDP or socket).
BUG FIXES:
- Fixed the DeregisterCriticalServiceAfter field not being handled correctly. [GH-7]
- Initial release