consul/agent/xds
sarahalsmiller e2a81aa8bd
xds: generate listeners directly from API gateway snapshot (#17398)
* API Gateway XDS Primitives, endpoints and clusters (#17002)

* XDS primitive generation for endpoints and clusters

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* server_test

* deleted extra file

* add missing parents to test

---------

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* Routes for API Gateway (#17158)

* XDS primitive generation for endpoints and clusters

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* server_test

* deleted extra file

* add missing parents to test

* checkpoint

* delete extra file

* httproute flattening code

* linting issue

* so close on this, calling for tonight

* unit test passing

* add in header manip to virtual host

* upstream rebuild commented out

* Use consistent upstream name whether or not we're rebuilding

* Start working through route naming logic

* Fix typos in test descriptions

* Simplify route naming logic

* Simplify RebuildHTTPRouteUpstream

* Merge additional compiled discovery chains instead of overwriting

* Use correct chain for flattened route, clean up + add TODOs

* Remove empty conditional branch

* Restore previous variable declaration

Limit the scope of this PR

* Clean up, improve TODO

* add logging, clean up todos

* clean up function

---------

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* checkpoint, skeleton, tests not passing

* checkpoint

* endpoints xds cluster configuration

* resources test fix

* fix reversion in resources_test

* checkpoint

* Update agent/proxycfg/api_gateway.go

Co-authored-by: John Maguire <john.maguire@hashicorp.com>

* unit tests passing

* gofmt

* add deterministic sorting to appease the unit test gods

* remove panic

* Find ready upstream matching listener instead of first in list

* Clean up, improve TODO

* Modify getReadyUpstreams to filter upstreams by listener (#17410)

Each listener would previously have all upstreams from any route that bound to the listener. This is problematic when a route bound to one listener also binds to other listeners and so includes upstreams for multiple listeners. The list for a given listener would then wind up including upstreams for other listeners.

* clean up todos, references to api gateway in listeners_ingress

* merge in Nathan's fix

* Update agent/consul/discoverychain/gateway.go

* cleanup current todos, remove snapshot manipulation from generation code

* Update agent/structs/config_entry_gateways.go

Co-authored-by: Thomas Eckert <teckert@hashicorp.com>

* Update agent/consul/discoverychain/gateway.go

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* Update agent/consul/discoverychain/gateway.go

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* Update agent/proxycfg/snapshot.go

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* clarified header comment for FlattenHTTPRoute, changed RebuildHTTPRouteUpstream to BuildHTTPRouteUpstream

* simplify cert logic

* Delete scratch

* revert route related changes in listener PR

* Update agent/consul/discoverychain/gateway.go

* Update agent/proxycfg/snapshot.go

* clean up uneeded extra lines in endpoints

---------

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
2023-05-22 17:36:29 -04:00
..
accesslogs copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
extensionruntime Add Network Filter Support for Envoy Extensions (#17325) 2023-05-12 09:52:50 -07:00
testcommon copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
testdata JWT Authentication with service intentions: xds package update (#17414) 2023-05-19 18:14:16 -04:00
validateupstream-test copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
clusters.go xds: generate clusters directly from API gateway snapshot (#17391) 2023-05-22 12:00:13 -04:00
clusters_test.go Support Envoy's MaxEjectionPercent and BaseEjectionTime config entries for passive health checks (#15979) 2023-04-26 15:59:48 -07:00
config.go Support Envoy's MaxEjectionPercent and BaseEjectionTime config entries for passive health checks (#15979) 2023-04-26 15:59:48 -07:00
config_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
delta.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
delta_envoy_extender_oss_test.go Wasm Envoy HTTP extension (#16877) 2023-04-06 14:12:07 -07:00
delta_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
endpoints.go xds: generate clusters directly from API gateway snapshot (#17391) 2023-05-22 12:00:13 -04:00
endpoints_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
failover_policy.go [COMPLIANCE] Add Copyright and License Headers (#16854) 2023-04-20 12:40:22 +00:00
failover_policy_oss.go [COMPLIANCE] Add Copyright and License Headers (#16854) 2023-04-20 12:40:22 +00:00
golden_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
jwt_authn.go JWT Authentication with service intentions: xds package update (#17414) 2023-05-19 18:14:16 -04:00
jwt_authn_test.go JWT Authentication with service intentions: xds package update (#17414) 2023-05-19 18:14:16 -04:00
listeners.go xds: generate listeners directly from API gateway snapshot (#17398) 2023-05-22 17:36:29 -04:00
listeners_apigateway.go xds: generate listeners directly from API gateway snapshot (#17398) 2023-05-22 17:36:29 -04:00
listeners_ingress.go xds: generate listeners directly from API gateway snapshot (#17398) 2023-05-22 17:36:29 -04:00
listeners_test.go Permissive mTLS (#17035) 2023-04-19 14:45:00 -05:00
naming.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
net_fallback.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
net_linux.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
protocol_trace.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
rbac.go Add sameness groups to service intentions. (#17064) 2023-04-20 12:16:04 -04:00
rbac_test.go Add sameness groups to service intentions. (#17064) 2023-04-20 12:16:04 -04:00
resources.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
resources_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
resources_test.go xds: generate endpoints directly from API gateway snapshot (#17390) 2023-05-19 18:50:59 +00:00
response.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
routes.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
routes_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
secrets.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
server.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
server_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
testing.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
xds.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
xds_protocol_helpers_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
z_xds_packages.go
z_xds_packages_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00