open-nomad/command
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
..
agent consul/connect: Add support for Connect terminating gateways 2021-01-25 10:36:04 -06:00
assets command: bump connect examples to v3 2021-01-10 16:54:31 -06:00
raft_tools
test-resources
acl.go
acl_bootstrap.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
acl_bootstrap_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
acl_policy.go use allow/deny instead of the colored alternatives (#9019) 2020-10-12 08:47:05 -04:00
acl_policy_apply.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
acl_policy_apply_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
acl_policy_delete.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
acl_policy_delete_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
acl_policy_info.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
acl_policy_info_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
acl_policy_list.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
acl_policy_list_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
acl_token.go
acl_token_create.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
acl_token_create_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
acl_token_delete.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
acl_token_delete_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
acl_token_info.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
acl_token_info_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
acl_token_list.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
acl_token_list_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
acl_token_self.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
acl_token_self_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
acl_token_update.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
acl_token_update_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
agent_info.go nomad agent-info: Add json/gotemplate formatting (#9788) 2021-01-13 09:42:46 -05:00
agent_info_test.go nomad agent-info: Add json/gotemplate formatting (#9788) 2021-01-13 09:42:46 -05:00
agent_monitor.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
agent_monitor_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
alloc.go
alloc_exec.go Refactor alloc exec command (#9718) 2021-01-05 09:33:04 -08:00
alloc_exec_test.go Refactor alloc exec command (#9718) 2021-01-05 09:33:04 -08:00
alloc_exec_unix.go
alloc_exec_windows.go
alloc_fs.go Refactor alloc exec command (#9718) 2021-01-05 09:33:04 -08:00
alloc_fs_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
alloc_logs.go Refactor alloc exec command (#9718) 2021-01-05 09:33:04 -08:00
alloc_logs_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
alloc_restart.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
alloc_restart_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
alloc_signal.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
alloc_signal_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
alloc_status.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
alloc_status_test.go csi: alloc status -verbose should query volume request 'source' (#9354) 2020-11-16 08:28:52 -05:00
alloc_stop.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
alloc_stop_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
check.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
check_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
commands.go Remove Managed Sinks from Nomad (#9470) 2020-11-30 14:00:31 -05:00
commands_oss.go
data_format.go
data_format_test.go
deployment.go
deployment_fail.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
deployment_fail_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
deployment_list.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
deployment_list_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
deployment_pause.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
deployment_pause_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
deployment_promote.go command: give flag-helpers a better name 2020-12-14 10:07:27 -06:00
deployment_promote_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
deployment_resume.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
deployment_resume_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
deployment_status.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
deployment_status_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
deployment_unblock.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
deployment_unblock_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
eval.go
eval_status.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
eval_status_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
event.go Add missing comma in help-text example. 2020-11-02 18:00:53 -05:00
event_test.go Add event sink API and CLI commands (#9226) 2020-11-02 09:57:35 -08:00
helper_devices.go
helper_devices_test.go
helpers.go actually pass env-vars to hcl2 parsing 2020-12-11 13:32:54 -05:00
helpers_test.go actually pass env-vars to hcl2 parsing 2020-12-11 13:32:54 -05:00
integration_test.go
job.go
job_deployments.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_deployments_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_dispatch.go command: give flag-helpers a better name 2020-12-14 10:07:27 -06:00
job_dispatch_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_eval.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_eval_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_history.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_history_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_init.bindata_assetfs.go command: generate bindata assetfs 2021-01-10 17:09:08 -06:00
job_init.go
job_init_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
job_inspect.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_inspect_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_periodic.go
job_periodic_force.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_periodic_force_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_plan.go command: give flag-helpers a better name 2020-12-14 10:07:27 -06:00
job_plan_test.go hclv1: tweak HCLv1 tests 2020-10-21 14:05:46 -04:00
job_promote.go command: give flag-helpers a better name 2020-12-14 10:07:27 -06:00
job_promote_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_revert.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_revert_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_run.go command: give flag-helpers a better name 2020-12-14 10:07:27 -06:00
job_run_test.go hclv1: tweak HCLv1 tests 2020-10-21 14:05:46 -04:00
job_scale.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_scale_test.go cli: add scale and scaling-events commands to job cmd. 2020-10-06 09:58:46 +02:00
job_scaling_events.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_scaling_events_test.go cli: add scale and scaling-events commands to job cmd. 2020-10-06 09:58:46 +02:00
job_status.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
job_status_test.go Update monitor func not to take a prefix (#9251) 2020-11-02 10:24:49 -08:00
job_stop.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
job_stop_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
job_validate.go Fix some errcheck errors (#9811) 2021-01-14 12:46:35 -08:00
job_validate_test.go hclv1: tweak HCLv1 tests 2020-10-21 14:05:46 -04:00
license.go
license_get.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
license_get_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
license_put.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
license_put_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
meta.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
meta_test.go
metrics.go Add gocritic to golangci-lint config (#9556) 2020-12-08 12:47:04 -08:00
metrics_test.go Metrics gotemplate support, debug bundle features (#9067) 2020-10-14 15:16:10 -04:00
monitor.go Update monitor func not to take a prefix (#9251) 2020-11-02 10:24:49 -08:00
monitor_test.go Update monitor func not to take a prefix (#9251) 2020-11-02 10:24:49 -08:00
namespace.go
namespace_apply.go command: give flag-helpers a better name 2020-12-14 10:07:27 -06:00
namespace_apply_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
namespace_delete.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
namespace_delete_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
namespace_inspect.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
namespace_inspect_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
namespace_list.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
namespace_list_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
namespace_status.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
namespace_status_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
node.go command: Fix node help error 2020-11-30 11:12:06 -05:00
node_config.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
node_config_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
node_drain.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
node_drain_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
node_eligibility.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
node_eligibility_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
node_status.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
node_status_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
operator.go
operator_autopilot.go
operator_autopilot_get.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
operator_autopilot_get_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
operator_autopilot_set.go command: give flag-helpers a better name 2020-12-14 10:07:27 -06:00
operator_autopilot_set_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
operator_autopilot_test.go
operator_debug.go debug: Fix node count bug from GH-9566 (#9625) 2020-12-14 15:02:48 -05:00
operator_debug_test.go Debug test refactor (#9637) 2020-12-15 13:51:41 -05:00
operator_keygen.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
operator_keygen_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
operator_keyring.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
operator_raft.go
operator_raft_info.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
operator_raft_list.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
operator_raft_list_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
operator_raft_logs.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
operator_raft_remove.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
operator_raft_remove_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
operator_raft_state.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
operator_raft_test.go
operator_snapshot.go
operator_snapshot_inspect.go
operator_snapshot_inspect_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
operator_snapshot_restore.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
operator_snapshot_restore_test.go hclv1: tweak HCLv1 tests 2020-10-21 14:05:46 -04:00
operator_snapshot_save.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
operator_snapshot_save_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
operator_test.go
plugin.go
plugin_status.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
plugin_status_csi.go
plugin_status_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
quota.go
quota_apply.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
quota_apply_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
quota_delete.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
quota_delete_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
quota_init.go
quota_init_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
quota_inspect.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
quota_inspect_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
quota_list.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
quota_list_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
quota_status.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
quota_status_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
recommendation.go cli: add recommendation commands. 2020-11-06 11:16:24 +01:00
recommendation_apply.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
recommendation_apply_test.go recs cli: fixed bad composition 2020-11-11 20:52:57 +00:00
recommendation_dismiss.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
recommendation_dismiss_test.go recs cli: fixed bad composition 2020-11-11 20:52:57 +00:00
recommendation_info.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
recommendation_info_test.go recs cli: fixed bad composition 2020-11-11 20:52:57 +00:00
recommendation_list.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
recommendation_list_test.go auto-complete for recommendations CLI, plus OSS components of recommendations prefix search 2020-11-11 11:13:43 +00:00
scaling.go cli: add policy list and info to new scaling cmd. 2020-10-05 15:18:30 +02:00
scaling_policy.go cli: ensure scaling policy target doesn't have trailing comma 2020-10-06 12:18:17 +02:00
scaling_policy_info.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
scaling_policy_info_test.go cli: add policy list and info to new scaling cmd. 2020-10-05 15:18:30 +02:00
scaling_policy_list.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
scaling_policy_list_test.go added new policy capabilities for recommendations API 2020-10-28 14:32:16 +00:00
scaling_policy_test.go cli: ensure scaling policy target doesn't have trailing comma 2020-10-06 12:18:17 +02:00
sentinel.go
sentinel_apply.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
sentinel_apply_test.go
sentinel_delete.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
sentinel_delete_test.go
sentinel_list.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
sentinel_list_test.go
sentinel_read.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
sentinel_read_test.go
server.go
server_force_leave.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
server_force_leave_test.go
server_join.go command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
server_join_test.go
server_members.go Fix some errcheck errors (#9811) 2021-01-14 12:46:35 -08:00
server_members_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
status.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
status_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
system.go
system_gc.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
system_gc_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
system_reconcile.go
system_reconcile_summaries.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
system_reconcile_summaries_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00
system_reconcile_test.go
system_test.go
ui.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
util_test.go
version.go
version_test.go
volume.go
volume_deregister.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
volume_detach.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
volume_register.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
volume_register_csi.go
volume_register_test.go
volume_status.go docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
volume_status_csi.go
volume_status_test.go cli: move tests to use NewMockUi func. 2020-10-05 16:07:41 +02:00