open-nomad/vendor/github.com/hashicorp/nomad/api
Seth Hoenig 8b05efcf88 consul/connect: Add support for Connect terminating gateways
This PR implements Nomad built-in support for running Consul Connect
terminating gateways. Such a gateway can be used by services running
inside the service mesh to access "legacy" services running outside
the service mesh while still making use of Consul's service identity
based networking and ACL policies.

https://www.consul.io/docs/connect/gateways/terminating-gateway

These gateways are declared as part of a task group level service
definition within the connect stanza.

service {
  connect {
    gateway {
      proxy {
        // envoy proxy configuration
      }
      terminating {
        // terminating-gateway configuration entry
      }
    }
  }
}

Currently Envoy is the only supported gateway implementation in
Consul. The gateay task can be customized by configuring the
connect.sidecar_task block.

When the gateway.terminating field is set, Nomad will write/update
the Configuration Entry into Consul on job submission. Because CEs
are global in scope and there may be more than one Nomad cluster
communicating with Consul, there is an assumption that any terminating
gateway defined in Nomad for a particular service will be the same
among Nomad clusters.

Gateways require Consul 1.8.0+, checked by a node constraint.

Closes #9445
2021-01-25 10:36:04 -06:00
..
contexts auto-complete for recommendations CLI, plus OSS components of recommendations prefix search 2020-11-11 11:13:43 +00:00
acl.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
agent.go api: nomad debug new /agent/host (#8325) 2020-07-02 09:51:25 -04:00
allocations.go api: add field filters to /v1/{allocations,nodes} 2020-10-14 10:35:22 -07:00
api.go Add API support for cancelation contexts passed via QueryOptions and WriteOptions (#8836) 2020-09-09 16:22:07 -04:00
constraint.go Update vendored libraries 2020-10-21 15:46:56 -04:00
csi.go csi/api: populate ReadAllocs/WriteAllocs fields (#9377) 2020-11-25 16:44:06 -05:00
deployments.go multiregion CLI: nomad deployment unblock 2020-06-17 11:03:44 -04:00
evaluations.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
event_stream.go API: Event stream use full name instead of Eval/Alloc (#9509) 2020-12-03 11:48:18 -05:00
fs.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
go.mod Api/event stream payload values (#9277) 2020-11-05 13:04:18 -05:00
go.sum command: remove use of flag impls from consul 2020-12-11 07:58:20 -06:00
ioutil.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
jobs.go Don't parse the server-set fields of the job struct 2020-10-22 08:18:57 -04:00
namespace.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
nodes.go api: add field filters to /v1/{allocations,nodes} 2020-10-14 10:35:22 -07:00
operator.go Metrics gotemplate support, debug bundle features (#9067) 2020-10-14 15:16:10 -04:00
operator_autopilot.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
operator_metrics.go Metrics gotemplate support, debug bundle features (#9067) 2020-10-14 15:16:10 -04:00
quota.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
raw.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
recommendations.go added new policy capabilities for recommendations API 2020-10-28 14:32:16 +00:00
regions.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
resources.go api: safely access legacy MBits field 2020-11-23 10:36:10 -06:00
scaling.go added new policy capabilities for recommendations API 2020-10-28 14:32:16 +00:00
search.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
sentinel.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
services.go consul/connect: Add support for Connect terminating gateways 2021-01-25 10:36:04 -06:00
status.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
system.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
tasks.go vendor: sync api/tasks for poststop hook 2020-11-16 11:28:02 -05:00
utils.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00