open-nomad/nomad/structs
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
..
config consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
batch_future.go drain: refactor batch_future into its own file 2018-04-02 16:40:06 -07:00
batch_future_test.go drain: refactor batch_future into its own file 2018-04-02 16:40:06 -07:00
bitmap.go assign names 2017-07-07 12:03:11 -07:00
bitmap_test.go assign names 2017-07-07 12:03:11 -07:00
connect.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
csi.go csi: validate mount options during volume registration (#9044) 2020-10-08 09:23:21 -04:00
csi_test.go csi: allow more than 1 writer claim for multi-writer mode (#9040) 2020-10-07 10:43:23 -04:00
devices.go Initial implementation of device preemption 2018-11-15 11:09:26 -06:00
devices_test.go Split device accounter and allocator 2018-11-07 10:32:03 -08:00
diff.go structs: filter NomadTokenID from job diff (#8773) 2020-08-28 13:40:51 -04:00
diff_test.go structs: filter NomadTokenID from job diff (#8773) 2020-08-28 13:40:51 -04:00
errors.go csi: client RPCs should return wrapped errors for checking (#8605) 2020-08-07 11:01:36 -04:00
errors_test.go api: acl bootstrap errors aren't 500 2019-11-19 15:51:57 -05:00
funcs.go add scaling policy type 2020-09-29 17:57:46 -04:00
funcs_test.go ar: support opting into binding host ports to default network IP (#8321) 2020-07-06 18:51:46 -04:00
generate.sh When serializing msgpack, only consider codec tag 2020-05-11 14:14:10 -04:00
network.go fixed typo in output (#1) 2020-07-14 10:33:17 -06:00
network_test.go test: fix up testing around host networks 2020-06-19 13:53:31 -04:00
node.go docstring improvements and typo fixes (#7862) 2020-05-05 10:30:50 -04:00
node_class.go use allow/deny instead of the colored alternatives (#9019) 2020-10-12 08:47:05 -04:00
node_class_test.go Device hook and devices affect computed node class 2018-11-27 17:25:33 -08:00
node_test.go fix issue when updating node events 2018-03-21 15:15:26 -04:00
operator.go basic snapshot restore 2020-06-07 15:46:23 -04:00
service_identities.go consul/connect: use task kind to get service name 2020-05-18 13:46:00 -06:00
services.go consul/connect: trigger update as necessary on connect changes 2020-10-05 14:53:00 -05:00
services_test.go consul/connect: trigger update as necessary on connect changes 2020-10-05 14:53:00 -05:00
streaming_rpc.go spelling: requested 2018-03-11 18:43:21 +00:00
structs.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
structs_codegen.go Codecgen full package 2018-04-26 15:24:53 -07:00
structs_oss.go add scaling policy type 2020-09-29 17:57:46 -04:00
structs_periodic_test.go tests for periodic job scheduling and DST 2020-05-07 17:36:59 -04:00
structs_test.go Merge pull request #9029 from hashicorp/b-tgs-updates 2020-10-05 16:48:04 -05:00
testing.go Split device accounter and allocator 2018-11-07 10:32:03 -08:00
volumes.go Fix accidental broken clones 2020-08-28 15:29:22 -04:00