open-nomad/client/allocrunner/taskrunner
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
..
getter getter: allow the gcs download scheme (#6692) 2019-11-19 09:10:56 -05:00
interfaces
restarts client: don't restart poststart sidecars on success 2020-08-11 09:47:18 -07:00
state client: test logmon cleanup 2019-03-04 13:15:15 -08:00
template configure nomad cluster to use a Consul Namespace [Consul Enterprise] (#8849) 2020-10-02 14:46:36 -04:00
testdata executor/linux: make chroot binary paths absolute 2019-04-01 15:45:31 -07:00
artifact_hook.go client: ensure task is cleaned up when terminal 2019-03-01 14:00:23 -08:00
artifact_hook_test.go client: ensure task is cleaned up when terminal 2019-03-01 14:00:23 -08:00
connect_native_hook.go consul/connect: add support for bridge networks with connect native tasks 2020-07-29 09:26:01 -05:00
connect_native_hook_test.go consul/connect: fixup tests to use new consul sdk 2020-08-24 12:02:41 -05:00
device_hook.go
device_hook_test.go
dispatch_hook.go
dispatch_hook_test.go use drivers.FSIsolation 2019-01-08 09:11:47 -05:00
driver_handle.go implement client endpoint of nomad exec 2019-05-09 16:49:08 -04:00
envoy_bootstrap_hook.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
envoy_bootstrap_hook_test.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
envoy_version_hook.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
envoy_version_hook_test.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
errors.go client: artifact errors are retry-able 2019-02-20 07:21:27 -08:00
errors_test.go client: artifact errors are retry-able 2019-02-20 07:21:27 -08:00
lazy_handle.go executor: implement streaming stats API 2019-01-12 12:18:22 -05:00
lifecycle.go tr: Fetch Wait channel before killTask in restart 2019-06-26 15:20:57 +02:00
logmon_hook.go address review comments 2019-12-13 11:21:00 -05:00
logmon_hook_test.go driver: allow disabling log collection 2019-12-08 14:15:03 -05:00
logmon_hook_unix_test.go driver: allow disabling log collection 2019-12-08 14:15:03 -05:00
plugin_supervisor_hook.go client/allocrunner/taskrunner: client.Close after err check (#8825) 2020-09-04 08:12:08 -04:00
script_check_hook.go consul: fix validation of task in group-level script-checks 2020-09-28 15:02:59 -05:00
script_check_hook_test.go consul: fix validation of task in group-level script-checks 2020-09-28 15:02:59 -05:00
service_hook.go Run task shutdown_delay regardless of service registration 2020-04-10 11:06:26 -04:00
service_hook_test.go tr/service_hook: reset initialized flag during deregister 2020-04-06 16:05:36 -04:00
sids_hook.go client: PR cleanup - improved logging around kill task in SIDS hook 2020-01-31 19:05:23 -06:00
sids_hook_test.go tests: set consul token for nomad client for testing SIDS TR hook 2020-01-31 19:06:15 -06:00
stats_hook.go stats_hook: log normal shutdown condition as debug, not error (#8028) 2020-05-20 10:28:30 -04:00
stats_hook_test.go executor: implement streaming stats API 2019-01-12 12:18:22 -05:00
task_dir_hook.go use allow/deny instead of the colored alternatives (#9019) 2020-10-12 08:47:05 -04:00
task_runner.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
task_runner_getters.go oss compoments for multi-vault namespaces 2020-07-24 10:14:59 -04:00
task_runner_hooks.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
task_runner_test.go tests: restart restartpolicy for all tasks in tests 2020-03-24 21:52:48 -04:00
tasklet.go comments: cleanup some leftover debug comments and such 2020-01-31 19:04:35 -06:00
tasklet_test.go support script checks for task group services (#6197) 2019-09-03 15:09:04 -04:00
template_hook.go oss compoments for multi-vault namespaces 2020-07-24 10:14:59 -04:00
validate_hook.go use allow/deny instead of the colored alternatives (#9019) 2020-10-12 08:47:05 -04:00
validate_hook_test.go
vault_hook.go emit TaskRestartSignal event on vault restart 2019-02-22 15:56:14 -05:00
vault_hook_test.go
volume_hook.go volumes: return better error messages for unsupported task drivers (#8030) 2020-05-21 09:18:02 -04:00
volume_hook_test.go volumes: return better error messages for unsupported task drivers (#8030) 2020-05-21 09:18:02 -04:00