consul/agent
R.B. Boyer 71d45a3460
Support Incremental xDS mode (#9855)
This adds support for the Incremental xDS protocol when using xDS v3. This is best reviewed commit-by-commit and will not be squashed when merged.

Union of all commit messages follows to give an overarching summary:

xds: exclusively support incremental xDS when using xDS v3

Attempts to use SoTW via v3 will fail, much like attempts to use incremental via v2 will fail.
Work around a strange older envoy behavior involving empty CDS responses over incremental xDS.
xds: various cleanups and refactors that don't strictly concern the addition of incremental xDS support

Dissolve the connectionInfo struct in favor of per-connection ResourceGenerators instead.
Do a better job of ensuring the xds code uses a well configured logger that accurately describes the connected client.
xds: pull out checkStreamACLs method in advance of a later commit

xds: rewrite SoTW xDS protocol tests to use protobufs rather than hand-rolled json strings

In the test we very lightly reuse some of the more boring protobuf construction helper code that is also technically under test. The important thing of the protocol tests is testing the protocol. The actual inputs and outputs are largely already handled by the xds golden output tests now so these protocol tests don't have to do double-duty.

This also updates the SoTW protocol test to exclusively use xDS v2 which is the only variant of SoTW that will be supported in Consul 1.10.

xds: default xds.Server.AuthCheckFrequency at use-time instead of construction-time
2021-04-29 13:54:05 -05:00
..
ae testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
auto-config config: improve the interface of Load 2021-01-27 17:34:43 -05:00
cache cache: Fix bug where connection errors can cause early cache expiry (#9979) 2021-04-08 11:11:15 +01:00
cache-types rpcclient/health: integrate submatview.Store into rpcclient/health 2021-04-27 19:03:16 -04:00
checks add http2 ping health checks (#8431) 2021-04-09 15:12:10 -04:00
config Rename "cluster" config entry to "mesh" (#10127) 2021-04-28 16:13:29 -06:00
connect Replace CertURI.Authorize() calls. 2021-03-15 18:06:04 -06:00
consul Rename "cluster" config entry to "mesh" (#10127) 2021-04-28 16:13:29 -06:00
debug chore: upgrade to gopsutil/v3 (#9118) 2020-11-06 20:48:38 -05:00
dns
exec
grpc Set gRPC keepalives to mirror Yamux keepalive behaviour 2021-04-07 14:09:22 +01:00
local local: default to the agent token instead of the user token 2021-02-19 18:35:08 -05:00
metadata Refactor to call non-voting servers read replicas (#9191) 2020-11-17 10:53:57 -05:00
mock
pool introduce certopts (#9606) 2021-03-22 10:16:41 +01:00
proxycfg Support Incremental xDS mode (#9855) 2021-04-29 13:54:05 -05:00
router Correcting the changed function name in comment 2021-02-06 20:23:40 -05:00
routine-leak-checker introduce certopts (#9606) 2021-03-22 10:16:41 +01:00
rpc/subscribe structs: remove EnterpriseMeta.GetNamespace 2021-03-09 15:17:26 -05:00
rpcclient/health submatview: only return materializer from getEntry 2021-04-27 19:03:17 -04:00
structs Rename cluster config files to mesh as well (#10148) 2021-04-28 18:15:26 -06:00
submatview submatview: fix godoc and comment typos 2021-04-28 12:27:38 -04:00
systemd
token
uiserver auto-updated agent/uiserver/bindata_assetfs.go from commit 5d89ba031 2021-04-29 09:46:32 +00:00
xds Support Incremental xDS mode (#9855) 2021-04-29 13:54:05 -05:00
acl.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
acl_endpoint.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
acl_endpoint_legacy.go
acl_endpoint_legacy_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
acl_endpoint_test.go Add fields to the /acl/auth-methods endpoint. (#9741) 2021-02-17 08:16:57 -08:00
acl_test.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
agent.go Support Incremental xDS mode (#9855) 2021-04-29 13:54:05 -05:00
agent_endpoint.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
agent_endpoint_test.go Fixup tests 2021-04-13 16:08:41 -06:00
agent_oss.go
agent_test.go health: create health.Client in Agent.New 2021-04-27 19:03:16 -04:00
apiserver.go agent: fix bug with multiple listeners 2020-11-18 13:03:29 -05:00
apiserver_test.go
catalog_endpoint.go http: Check HTTPUseCache in a single place 2020-12-11 14:03:47 -05:00
catalog_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
check.go
config_endpoint.go
config_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
connect_auth.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
connect_ca_endpoint.go
connect_ca_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
coordinate_endpoint.go
coordinate_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
denylist.go
denylist_test.go
discovery_chain_endpoint.go http: Check HTTPUseCache in a single place 2020-12-11 14:03:47 -05:00
discovery_chain_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
dns.go Do not filter tags unless req.TagFilter is set 2021-02-10 10:36:11 +01:00
dns_oss.go
dns_test.go Avoid failing test due to undiscoverable node name 2021-04-12 09:26:55 -06:00
enterprise_delegate_oss.go
event_endpoint.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
event_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
federation_state_endpoint.go
health_endpoint.go rpcclient/health: move all backend routing logic to client 2021-04-27 19:03:16 -04:00
health_endpoint_test.go api: ensure v1/health/ingress/:service endpoint works properly when streaming is enabled (#9967) 2021-04-05 13:23:00 -05:00
http.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
http_decode_test.go Add support for configuring TLS ServerName for health checks 2021-03-16 18:16:44 -04:00
http_oss.go http: fix a bug that would cause runtimeConfig to be cached 2021-03-24 14:48:18 -04:00
http_oss_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
http_register.go Switch to using the external autopilot module 2020-11-09 09:22:11 -05:00
http_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
intentions_endpoint.go
intentions_endpoint_oss_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
intentions_endpoint_test.go server: deletions of intentions by name using the intention API is now idempotent (#9278) 2021-01-04 11:27:00 -06:00
keyring.go
keyring_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
kvs_endpoint.go Add content type headers to raw KV responses 2021-04-14 16:20:22 -04:00
kvs_endpoint_test.go Add content type headers to raw KV responses 2021-04-14 16:20:22 -04:00
nodeid.go chore: upgrade to gopsutil/v3 (#9118) 2020-11-06 20:48:38 -05:00
nodeid_test.go
notify.go
notify_test.go
operator_endpoint.go Switch to using the external autopilot module 2020-11-09 09:22:11 -05:00
operator_endpoint_oss.go Add a CLI command for retrieving the autopilot configuration. (#9142) 2020-11-11 13:19:02 -05:00
operator_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
prepared_query_endpoint.go http: Check HTTPUseCache in a single place 2020-12-11 14:03:47 -05:00
prepared_query_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
reload.go
remote_exec.go
remote_exec_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
retry_join.go
retry_join_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
service_checks_test.go agent: move deprecated AddServiceFromSource to a test file 2021-01-25 17:25:03 -05:00
service_manager.go Replace TransparentProxy bool with ProxyMode 2021-04-12 09:35:14 -06:00
service_manager_test.go Replace TransparentProxy bool with ProxyMode 2021-04-12 09:35:14 -06:00
session_endpoint.go
session_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
setup.go agent: fix data race in tests caused by grpc log init 2021-04-27 19:03:17 -04:00
sidecar_service.go agent: move deprecated AddServiceFromSource to a test file 2021-01-25 17:25:03 -05:00
sidecar_service_test.go agent: move deprecated AddServiceFromSource to a test file 2021-01-25 17:25:03 -05:00
signal_unix.go
signal_windows.go
snapshot_endpoint.go
snapshot_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
status_endpoint.go
status_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
streaming_test.go Added testing of GRPC with TLS combinations 2021-01-06 22:20:23 +01:00
testagent.go introduce certopts (#9606) 2021-03-22 10:16:41 +01:00
testagent_test.go
translate_addr.go
txn_endpoint.go Add support for configuring TLS ServerName for health checks 2021-03-16 18:16:44 -04:00
txn_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
ui_endpoint.go Merge pull request #10016 from hashicorp/topology-update 2021-04-15 14:11:23 -06:00
ui_endpoint_oss_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
ui_endpoint_test.go Update viz endpoint to include topology from intentions 2021-04-14 10:20:15 -06:00
user_event.go
user_event_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
util.go
util_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
watch_handler.go
watch_handler_test.go