consul/agent/xds
Michael Zalimeni a7803bd829
[NET-6305] xds: Ensure v2 route match and protocol are populated for gRPC (#19343)
* xds: Ensure v2 route match is populated for gRPC

Similar to HTTP, ensure that route match config (which is required by
Envoy) is populated when default values are used.

Because the default matches generated for gRPC contain a single empty
`GRPCRouteMatch`, and that proto does not directly support prefix-based
config, an interpretation of the empty struct is needed to generate the
same output that the `HTTPRouteMatch` is explicitly configured to
provide in internal/mesh/internal/controllers/routes/generate.go.

* xds: Ensure protocol set for gRPC resources

Add explicit protocol in `ProxyStateTemplate` builders and validate it
is always set on clusters. This ensures that HTTP filters and
`http2_protocol_options` are populated in all the necessary places for
gRPC traffic and prevents future unintended omissions of non-TCP
protocols.

Co-authored-by: John Murret <john.murret@hashicorp.com>

---------

Co-authored-by: John Murret <john.murret@hashicorp.com>
2023-10-25 17:43:58 +00:00
..
accesslogs catalog,mesh,auth: Bump versions to v2beta1 (#18930) 2023-09-22 10:51:15 -06:00
config [NET-4799] [OSS] xdsv2: listeners L4 support for connect proxies (#18436) 2023-08-15 11:57:07 -07:00
configfetcher chore: fix missing/incorrect license headers (#18555) 2023-08-22 17:23:54 -05:00
extensionruntime Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
naming [NET-4799] [OSS] xdsv2: listeners L4 support for connect proxies (#18436) 2023-08-15 11:57:07 -07:00
platform Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
proxystateconverter [NET-6305] xds: Ensure v2 route match and protocol are populated for gRPC (#19343) 2023-10-25 17:43:58 +00:00
response NET-4853 - xds v2 - implement base connect proxy functionality for clusters (#18499) 2023-08-17 14:43:21 -04:00
testcommon [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
testdata Use strict DNS for mesh gateways with hostnames (#19268) 2023-10-24 15:04:14 -04:00
validateupstream-test [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
clusters.go Use strict DNS for mesh gateways with hostnames (#19268) 2023-10-24 15:04:14 -04:00
clusters_test.go net-5689 fix disabling panic threshold logic (#18958) 2023-09-21 15:52:30 -07:00
delta.go remove log (#19029) 2023-09-29 16:11:50 -07:00
delta_envoy_extender_ce_test.go Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
delta_envoy_extender_test.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
delta_test.go NET-5338 - NET-5338 - Run a v2 mode xds server (#18579) 2023-08-24 16:44:14 -06:00
endpoints.go [NET-6221] Ensure LB policy set for locality-aware routing (CE) (#19283) 2023-10-19 10:13:27 -04:00
endpoints_test.go NET-4858 - xds v2 - implement base connect proxy functionality for routes (#18501) 2023-08-17 21:04:53 +00:00
failover_policy.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
failover_policy_ce.go Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
golden_test.go xds: update golden tests to be deterministic (#18707) 2023-09-11 11:40:19 -05:00
gw_per_route_filters_ce.go Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
jwt_authn.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
jwt_authn_ce.go [NET-5457] Fix CE code for jwt multiple virtual hosts bug (#19123) 2023-10-10 16:25:36 -04:00
jwt_authn_test.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
listeners.go Allow connections through Terminating Gateways from peered clusters NET-3463 (#18959) 2023-10-05 21:54:23 +00:00
listeners_apigateway.go [NET-5810] CE changes for multiple virtual hosts (#19246) 2023-10-17 15:08:04 +00:00
listeners_ingress.go OSS -> CE (community edition) changes (#18517) 2023-08-22 09:46:03 -05:00
listeners_test.go Golden File Tests for TermGW w/ Cluster Peering (#19096) 2023-10-13 11:56:58 -04:00
locality_policy.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
locality_policy_ce.go Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
protocol_trace.go NET-5338 - NET-5338 - Run a v2 mode xds server (#18579) 2023-08-24 16:44:14 -06:00
rbac.go [APIGW] NET-5017 JWT Cleanup/Status Conditions (#18700) 2023-09-07 19:03:09 +00:00
rbac_test.go [NET-4931] xdsv2, sidecarproxycontroller, l4 trafficpermissions: support L7 (#19185) 2023-10-12 23:45:45 +00:00
resources.go [NET-4799] [OSS] xdsv2: listeners L4 support for connect proxies (#18436) 2023-08-15 11:57:07 -07:00
resources_ce_test.go Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
resources_test.go NET-5147: Added placeholder structs for JWT functionality (#18575) 2023-08-24 15:07:14 -04:00
routes.go [NET-5457] Golden Files for Multiple Virtual Hosts (#19131) 2023-10-11 18:11:29 +00:00
routes_test.go [NET-5457] Golden Files for Multiple Virtual Hosts (#19131) 2023-10-11 18:11:29 +00:00
secrets.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
server.go Watch the ProxyTracker from xDS controller (#18611) 2023-08-29 14:39:29 -07:00
server_ce.go Remove old build tags (#19128) 2023-10-10 10:58:06 -04:00
testing.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
xds.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00
xds_protocol_helpers_test.go Watch the ProxyTracker from xDS controller (#18611) 2023-08-29 14:39:29 -07:00
z_xds_packages.go Various bits of cleanup detected when using Go Workspaces (#17462) 2023-06-05 16:08:39 -04:00
z_xds_packages_test.go [COMPLIANCE] License changes (#18443) 2023-08-11 09:12:13 -04:00