open-nomad/nomad/structs/config
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
..
audit.go Audit config, seams for enterprise audit features 2020-03-23 13:47:42 -04:00
audit_test.go update audit examples to an endpoint that is audited 2020-03-30 10:03:11 -04:00
autopilot.go implement MinQuorum 2020-02-16 16:04:59 -06:00
autopilot_test.go implement MinQuorum 2020-02-16 16:04:59 -06:00
consul.go consul/connect: dynamically select envoy sidecar at runtime 2020-10-13 09:14:12 -05:00
consul_test.go command, docs: create and document consul token configuration for connect acls (gh-6716) 2020-01-31 19:02:53 -06:00
limits.go core: add limits to unauthorized connections 2020-01-30 10:38:25 -08:00
limits_test.go core: add limits to unauthorized connections 2020-01-30 10:38:25 -08:00
plugins.go tag HCL bookkeeping keys with json:"-" to keep them out of the api 2019-04-30 10:29:14 -04:00
plugins_test.go
README.md
sentinel.go
tls.go tag HCL bookkeeping keys with json:"-" to keep them out of the api 2019-04-30 10:29:14 -04:00
tls_test.go
vault.go command, docs: create and document consul token configuration for connect acls (gh-6716) 2020-01-31 19:02:53 -06:00
vault_test.go

Overview

nomad/structs/config is a package for configuration structs that are shared among packages that needs the same struct definitions, but can't import each other without creating a cyle. This config package must be terminal in the import graph (or very close to terminal in the dependency graph).