v1.10.0
hc-github-team-consul-core
released this
22 Jun 18:46
·
7366 commits
to main
since this release
1.10.0 (June 22, 2021)
BREAKING CHANGES:
- connect: Disallow wildcard as name for service-defaults. [GH-10069]
- connect: avoid encoding listener info in ingress and terminating gateway listener stats names. [GH-10404]
- licensing: (Enterprise Only) Consul Enterprise 1.10 has removed API driven licensing of servers in favor of license loading via configuration. The
PUT
andDELETE
methods on the/v1/operator/license
endpoint will now return 405s, theconsul license put
andconsul license reset
CLI commands have been removed and theLicensePut
andLicenseReset
methods in the API client have been altered to always return an error. [GH-10211] - licensing: (Enterprise Only) Consul Enterprise client agents now require a valid non-anonymous ACL token for retrieving their license from the servers. Additionally client agents rely on the value of the
start_join
andretry_join
configurations for determining the servers to query for the license. Therefore one must be set to use license auto-retrieval. [GH-10248] - licensing: (Enterprise Only) Consul Enterprise has removed support for temporary licensing. All server agents must have a valid license at startup and client agents must have a license at startup or be able to retrieve one from the servers. [GH-10248]
FEATURES:
- checks: add H2 ping health checks. [GH-8431]
- cli: Add additional flags to the
consul connect redirect-traffic
command to allow excluding inbound and outbound ports,
outbound CIDRs, and additional user IDs from traffic redirection. [GH-10134] - cli: Add new
consul connect redirect-traffic
command for applying traffic redirection rules when Transparent Proxy is enabled. [GH-9910] - cli: Add prefix option to kv import command [GH-9792]
- cli: Automatically exclude ports from
envoy_prometheus_bind_addr
,envoy_stats_bind_addr
, andListenerPort
fromExpose
config
from inbound traffic redirection rules ifproxy-id
flag is provided to theconsul connect redirect-traffic
command. [GH-10134] - cli: snapshot inspect command provides KV usage breakdown [GH-9098]
- cli: snapshot inspect command supports JSON output [GH-9006]
- connect: Add local_request_timeout_ms to allow configuring the Envoy request timeout on local_app [GH-9554]
- connect: add support for unix domain sockets addresses for service upstreams and downstreams [GH-9981]
- connect: add toggle to globally disable wildcard outbound network access when transparent proxy is enabled [GH-9973]
- connect: generate upstream service labels for terminating gateway listener stats. [GH-10404]
- sdk: Add new
iptables
package for applying traffic redirection rules with iptables. [GH-9910] - sdk: Allow excluding inbound and outbound ports, outbound CIDRs, and additional user IDs from traffic redirection in the
iptables
package. [GH-10134] - ui: Add Unix Domain Socket support [GH-10287]
- ui: Create a collapsible notices component for the Topology tab [GH-10270]
- ui: Read-only ACL Auth Methods view [GH-9617]
- ui: Transparent Proxy - Service mesh visualization updates [GH-10002]
- xds: emit a labeled gauge of connected xDS streams by version [GH-10243]
- xds: exclusively support the Incremental xDS protocol when using xDS v3 [GH-9855]
IMPROVEMENTS:
- acl: extend the auth-methods list endpoint to include MaxTokenTTL and TokenLocality fields. [GH-9741]
- acl: use the presence of a management policy in the state store as a sign that we already migrated to v2 acls [GH-9505]
- agent: Save exposed Envoy ports to the agent's state when
Expose.Checks
is true in proxy's configuration. [GH-10173] - api: Add
ExposedPort
to the health check API resource. [GH-10173] - api: Enable setting query options on agent endpoints. [GH-9903]
- api: The
Content-Type
header is now always set when a body is present in a request. [GH-10204] - cli: snapshot inspect command can now inspect raw snapshots from a server's data
dir. [GH-10089] - cli: the
consul connect envoy --envoy_statsd_url
flag will now resolve the$HOST_IP
environment variable, as part of a full url. [GH-8564] - command: Exclude exposed Envoy ports from traffic redirection when providing
-proxy-id
andExpose.Checks
is set. [GH-10173] - connect: Add support for transparently proxying traffic through Envoy. [experimental] [GH-9894]
- connect: Allow per-upstream configuration to be set in service-defaults. [experimental] [GH-9872]
- connect: Ensures passthrough tproxy cluster is created even when mesh config doesn't exist. [GH-10301]
- connect: Support dialing individual service IP addresses through transparent proxies. [GH-10329]
- connect: The builtin connect proxy no longer advertises support for h2 via ALPN. [GH-4466]. [GH-9920]
- connect: Update the service mesh visualization to account for transparent proxies. [GH-10016]
- connect: adds new flags
prometheus-backend-port
andprometheus-scrape-port
toconsul connect envoy
to support envoy_prometheus_bind_addr pointing to the merged metrics port when using Consul Connect on K8s. [GH-9768] - connect: allow exposing duplicate HTTP paths through a proxy instance. [GH-10394]
- connect: rename cluster config entry to mesh. [GH-10127]
- connect: restrict transparent proxy mode to only match on the tagged virtual IP address. [GH-10162]
- connect: update supported envoy versions to 1.18.2, 1.17.2, 1.16.3, 1.15.4 [GH-10101]
- connect: update supported envoy versions to 1.18.3, 1.17.3, 1.16.4, and 1.15.5 [GH-10231]
- debug: capture a single stream of logs, and single pprof profile and trace for the whole duration [GH-10279]
- grpc: move gRPC INFO logs to be emitted as TRACE logs from Consul [GH-10395]
- licensing: (Enterprise Only) Consul Enterprise has gained the
consul license inspect
CLI command for inspecting a license without applying it.. - licensing: (Enterprise Only) Consul Enterprise has gained the ability to autoload a license via configuration. This can be specified with the
license_path
configuration, theCONSUL_LICENSE
environment variable or theCONSUL_LICENSE_PATH
environment variable [GH-10210] - licensing: (Enterprise Only) Consul Enterprise has gained the ability update its license via a configuration reload. The same environment variables and configurations will be used to determine the new license. [GH-10267]
- monitoring: optimize the monitoring endpoint to avoid losing logs when under high load. [GH-10368]
- raft: allow reloading of raft trailing logs and snapshot timing to allow recovery from some replication failure modes.
telemetry: add metrics and documentation for monitoring for replication issues. [GH-10129] - streaming: change
use_streaming_backend
to default to true so that streaming is used by default when it is supported. [GH-10149] - ui: Add 'optional route segments' and move namespaces to use them [GH-10212]
- ui: Adding a notice about how TransparentProxy mode affects the Upstreams list at the top of tab view [GH-10136]
- ui: Improve loader centering with new side navigation [GH-10181]
- ui: Move to a sidebar based main navigation [GH-9553]
- ui: Show a message to explain that health checks may be out of date if the serf health check is in a critical state [GH-10194]
- ui: Updating the wording for the banner and the popover for a service with an upstream that is not explicitly defined. [GH-10133]
- ui: Use older (~2016) native ES6 features to reduce transpilation and UI JS payload [GH-9729]
- ui: add permanently visible indicator when ACLs are disabled [GH-9864]
- ui: improve accessibility of modal dialogs [GH-9819]
- ui: restrict the viewing/editing of certain UI elements based on the users ACL token [GH-9687]
- ui: updates the ui with the new consul brand assets [GH-10081]
- xds: add support for envoy 1.17.0 [GH-9658]
- xds: default to speaking xDS v3, but allow for v2 to be spoken upon request [GH-9658]
- xds: ensure that all envoyproxy/go-control-plane protobuf symbols are linked into the final binary [GH-10131]
- xds: remove deprecated usages of xDS and drop support for envoy 1.13.x [GH-9602]
BUG FIXES:
- checks: add TLSServerName field to allow setting the TLS server name for HTTPS health checks. [GH-9475]
- config: Fixed a bug where
rpc_max_conns_per_client
could not be changed by reloading the
config. [GH-8696] - connect: Fix bug that prevented transparent proxies from working when mesh config restricted routing to catalog destinations. [GH-10365]
- memberlist: fixes a couple bugs which allowed malformed input to cause a crash in a Consul
client or server. [GH-10161] - monitor: fix monitor to produce json format logs when requested [GH-10358]
- proxycfg: Ensure that endpoints for explicit upstreams in other datacenters are watched in transparent mode. [GH-10391]
- proxycfg: avoid panic when transparent proxy upstream is added and then removed. [GH-10423]
- streaming: fixes a bug that would cause context cancellation errors when a cache entry expired while requests were active. [GH-10112]
- streaming: lookup in health properly handle case-sensitivity and perform filtering based on tags and node-meta [GH-9703]
- telemetry: fixes a bug with Prometheus metrics where Gauges and Summaries were incorrectly
being expired. [GH-10161] - ui: Adding conditional to prevent Service Mesh from breaking when there are no Upstreams [GH-10122]
- ui: Fix text searching through upstream instances. [GH-10151]
- ui: Update conditional for topology empty state [GH-10124]
- ui: ensure proxy instance API requests perform blocking queries correctly [GH-10039]
- xds: (beta-only) ensure that dependent xDS resources are reconfigured during primary type warming [GH-10381]
NOTES:
- legal: (Enterprise only) Enterprise binary downloads will now include a copy of the EULA and Terms of Evaluation in the zip archive