open-nomad/command/agent/consul
Seth Hoenig ed13e5723f consul/connect: dynamically select envoy sidecar at runtime
As newer versions of Consul are released, the minimum version of Envoy
it supports as a sidecar proxy also gets bumped. Starting with the upcoming
Consul v1.9.X series, Envoy v1.11.X will no longer be supported. Current
versions of Nomad hardcode a version of Envoy v1.11.2 to be used as the
default implementation of Connect sidecar proxy.

This PR introduces a change such that each Nomad Client will query its
local Consul for a list of Envoy proxies that it supports (https://github.com/hashicorp/consul/pull/8545)
and then launch the Connect sidecar proxy task using the latest supported version
of Envoy. If the `SupportedProxies` API component is not available from
Consul, Nomad will fallback to the old version of Envoy supported by old
versions of Consul.

Setting the meta configuration option `meta.connect.sidecar_image` or
setting the `connect.sidecar_task` stanza will take precedence as is
the current behavior for sidecar proxies.

Setting the meta configuration option `meta.connect.gateway_image`
will take precedence as is the current behavior for connect gateways.

`meta.connect.sidecar_image` and `meta.connect.gateway_image` may make
use of the special `${NOMAD_envoy_version}` variable interpolation, which
resolves to the newest version of Envoy supported by the Consul agent.

Addresses #8585 #7665
2020-10-13 09:14:12 -05:00
..
acl_testing.go comments: cleanup some leftover debug comments and such 2020-01-31 19:04:35 -06:00
catalog_testing.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
check_watcher.go client: improve group service stanza interpolation and check_re… (#6586) 2019-11-18 13:04:01 -05:00
check_watcher_test.go consul: add test for check watcher deadlock 2019-07-18 08:24:09 -07:00
config_entries_testing.go consul/connect: add initial support for ingress gateways 2020-08-21 16:21:54 -05:00
connect.go consul/connect: remove envoy dns option from gateway proxy config 2020-08-24 09:11:55 -05:00
connect_proxies.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
connect_proxies_test.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
connect_proxies_testing.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
connect_test.go consul/connect: remove envoy dns option from gateway proxy config 2020-08-24 09:11:55 -05:00
group_test.go consul/connect: fixup tests to use new consul sdk 2020-08-24 12:02:41 -05:00
int_test.go consul/connect: fixup tests to use new consul sdk 2020-08-24 12:02:41 -05:00
service_client.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
service_client_test.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
structs.go client: use consistent name for struct receiver parameter 2020-03-31 17:15:27 -06:00
testing.go client: improve group service stanza interpolation and check_re… (#6586) 2019-11-18 13:04:01 -05:00
unit_test.go tests: deflake TestConsul_PeriodicSync 2020-03-30 07:06:47 -04:00
version_checker.go agent + consul 2018-09-13 10:43:40 -07:00
version_checker_test.go Replace Consul TLSSkipVerify handling 2018-03-14 17:43:06 -07:00