open-nomad/client
Seth Hoenig 4d71f22a11 consul/connect: add support for running connect native tasks
This PR adds the capability of running Connect Native Tasks on Nomad,
particularly when TLS and ACLs are enabled on Consul.

The `connect` stanza now includes a `native` parameter, which can be
set to the name of task that backs the Connect Native Consul service.

There is a new Client configuration parameter for the `consul` stanza
called `share_ssl`. Like `allow_unauthenticated` the default value is
true, but recommended to be disabled in production environments. When
enabled, the Nomad Client's Consul TLS information is shared with
Connect Native tasks through the normal Consul environment variables.
This does NOT include auth or token information.

If Consul ACLs are enabled, Service Identity Tokens are automatically
and injected into the Connect Native task through the CONSUL_HTTP_TOKEN
environment variable.

Any of the automatically set environment variables can be overridden by
the Connect Native task using the `env` stanza.

Fixes #6083
2020-06-22 14:07:44 -05:00
..
allocdir Run Linux Images (LCOW) and Windows Containers side by side (#7850) 2020-05-04 13:08:47 -04:00
allochealth allochealth: Fix when check health preceeds task health 2020-05-13 07:44:39 -04:00
allocrunner consul/connect: add support for running connect native tasks 2020-06-22 14:07:44 -05:00
allocwatcher client/allocwatcher: fix dropped test error (#6592) 2019-10-31 08:29:25 -04:00
config multi-interface network support 2020-06-19 09:42:10 -04:00
consul docs: remove erroneous characters from comment 2020-03-30 13:26:48 -06:00
devicemanager csi: docstring and log message fixups (#7327) 2020-03-23 13:58:30 -04:00
dynamicplugins csi: dynamically update plugin registration (#7386) 2020-03-23 13:59:25 -04:00
fingerprint multi-interface network support 2020-06-19 09:42:10 -04:00
interfaces Populate alloc stats API with device stats 2018-11-16 10:26:32 -05:00
lib ar: plumb client config for networking into the network hook 2019-07-31 01:04:06 -04:00
logmon only report tasklogger is running if both stdout and stderr are still running (#8155) 2020-06-12 09:17:35 -04:00
pluginmanager csi: add VolumeContext to NodeStage/Publish RPCs (#8239) 2020-06-22 13:54:32 -04:00
servers client: drop unused DC field from servers list 2019-05-20 14:19:15 -07:00
state client/heartbeatstop: don't store client state, use timeout 2020-05-01 12:35:49 -04:00
stats Update gopsutil code 2020-03-15 09:37:05 +01:00
structs csi: support for VolumeContext and VolumeParameters (#7957) 2020-05-15 08:16:01 -04:00
taskenv lint: spelling 2020-06-19 11:29:41 -04:00
testutil fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
vaultclient vendor: vault api and sdk 2020-03-21 17:57:48 +01:00
acl.go Audit config, seams for enterprise audit features 2020-03-23 13:47:42 -04:00
acl_test.go Audit config, seams for enterprise audit features 2020-03-23 13:47:42 -04:00
agent_endpoint.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
agent_endpoint_test.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
alloc_endpoint.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
alloc_endpoint_test.go tests: Run a task long enough to be restartable 2020-05-31 10:33:03 -04:00
alloc_watcher_e2e_test.go tests: swap lib/freeport for tweaked helper/freeport 2019-12-09 08:37:32 -06:00
client.go Revert "client: defensive against getting stale alloc updates" 2020-06-19 15:39:44 -04:00
client_stats_endpoint.go Server side impl + touch ups 2018-02-15 13:59:02 -08:00
client_stats_endpoint_test.go tests: swap lib/freeport for tweaked helper/freeport 2019-12-09 08:37:32 -06:00
client_test.go test: fix up testing around host networks 2020-06-19 13:53:31 -04:00
csi_endpoint.go csi: support for VolumeContext and VolumeParameters (#7957) 2020-05-15 08:16:01 -04:00
csi_endpoint_test.go CSI: move node unmount to server-driven RPCs (#7596) 2020-04-02 16:04:56 -04:00
driver_manager_test.go tests: fix data race in client TestDriverManager_Fingerprint_Periodic 2019-05-21 09:49:56 -04:00
enterprise_client_oss.go give enterpriseclient a logger (#8072) 2020-05-28 15:43:16 -04:00
fingerprint_manager.go CNI Implementation (#7518) 2020-06-18 11:05:29 -07:00
fingerprint_manager_test.go client/drivermananger: add driver manager 2018-12-18 22:55:18 -05:00
fs_endpoint.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
fs_endpoint_test.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
gc.go Plugins use parent loggers 2019-01-11 11:36:37 -08:00
gc_test.go tests: deflake TestAllocGarbageCollector_MakeRoomFor_MaxAllocs 2020-03-30 07:06:53 -04:00
heartbeatstop.go Delayed evaluations for `stop_after_client_disconnect` can cause unwanted extra followup evaluations around job garbage collection (#8099) 2020-06-03 09:48:38 -04:00
heartbeatstop_test.go client/heartbeatstop: don't store client state, use timeout 2020-05-01 12:35:49 -04:00
node_updater.go client: use NewNodeEvent builder for consistency (#7559) 2020-03-31 10:02:16 -04:00
rpc.go CSI: move node unmount to server-driven RPCs (#7596) 2020-04-02 16:04:56 -04:00
rpc_test.go Simplify Bootstrap logic in tests 2020-03-02 13:47:43 -05:00
testing.go goimports until make check is happy 2019-01-23 06:27:14 -08:00
util.go Revert "client: defensive against getting stale alloc updates" 2020-06-19 15:39:44 -04:00
util_test.go Update state with server 2018-10-16 16:53:29 -07:00