ed13e5723f
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 |
||
---|---|---|
.. | ||
getter | ||
interfaces | ||
restarts | ||
state | ||
template | ||
testdata | ||
artifact_hook.go | ||
artifact_hook_test.go | ||
connect_native_hook.go | ||
connect_native_hook_test.go | ||
device_hook.go | ||
device_hook_test.go | ||
dispatch_hook.go | ||
dispatch_hook_test.go | ||
driver_handle.go | ||
envoy_bootstrap_hook.go | ||
envoy_bootstrap_hook_test.go | ||
envoy_version_hook.go | ||
envoy_version_hook_test.go | ||
errors.go | ||
errors_test.go | ||
lazy_handle.go | ||
lifecycle.go | ||
logmon_hook.go | ||
logmon_hook_test.go | ||
logmon_hook_unix_test.go | ||
plugin_supervisor_hook.go | ||
script_check_hook.go | ||
script_check_hook_test.go | ||
service_hook.go | ||
service_hook_test.go | ||
sids_hook.go | ||
sids_hook_test.go | ||
stats_hook.go | ||
stats_hook_test.go | ||
task_dir_hook.go | ||
task_runner.go | ||
task_runner_getters.go | ||
task_runner_hooks.go | ||
task_runner_test.go | ||
tasklet.go | ||
tasklet_test.go | ||
template_hook.go | ||
validate_hook.go | ||
validate_hook_test.go | ||
vault_hook.go | ||
vault_hook_test.go | ||
volume_hook.go | ||
volume_hook_test.go |