open-consul/agent/proxycfg
Thomas Eckert d9c97a9ef7
API Gateway to Ingress Gateway Snapshot Translation and Routes to Virtual Routers and Splitters (#16127)
* Stub proxycfg handler for API gateway

* Add Service Kind constants/handling for API Gateway

* Begin stubbing for SDS

* Add new Secret type to xDS order of operations

* Continue stubbing of SDS

* Iterate on proxycfg handler for API gateway

* Handle BoundAPIGateway config entry subscription in proxycfg-glue

* Add API gateway to config snapshot validation

* Add API gateway to config snapshot clone, leaf, etc.

* Subscribe to bound route + cert config entries on bound-api-gateway

* Track routes + certs on API gateway config snapshot

* Generate DeepCopy() for types used in watch.Map

* Watch all active references on api-gateway, unwatch inactive

* Track loading of initial bound-api-gateway config entry

* Use proper proto package for SDS mapping

* Use ResourceReference instead of ServiceName, collect resources

* Fix typo, add + remove TODOs

* Watch discovery chains for TCPRoute

* Add TODO for updating gateway services for api-gateway

* make proto

* Regenerate deep-copy for proxycfg

* Set datacenter on upstream ID from query source

* Watch discovery chains for http-route service backends

* Add ServiceName getter to HTTP+TCP Service structs

* Clean up unwatched discovery chains on API Gateway

* Implement watch for ingress leaf certificate

* Collect upstreams on http-route + tcp-route updates

* Remove unused GatewayServices update handler

* Remove unnecessary gateway services logic for API Gateway

* Remove outdate TODO

* Use .ToIngress where appropriate, including TODO for cleaning up

* Cancel before returning error

* Remove GatewayServices subscription

* Add godoc for handlerAPIGateway functions

* Update terminology from Connect => Consul Service Mesh

Consistent with terminology changes in https://github.com/hashicorp/consul/pull/12690

* Add missing TODO

* Remove duplicate switch case

* Rerun deep-copy generator

* Use correct property on config snapshot

* Remove unnecessary leaf cert watch

* Clean up based on code review feedback

* Note handler properties that are initialized but set elsewhere

* Add TODO for moving helper func into structs pkg

* Update generated DeepCopy code

* gofmt

* Begin stubbing for SDS

* Start adding tests

* Remove second BoundAPIGateway case in glue

* TO BE PICKED: fix formatting of str

* WIP

* Fix merge conflict

* Implement HTTP Route to Discovery Chain config entries

* Stub out function to create discovery chain

* Add discovery chain merging code (#16131)

* Test adding TCP and HTTP routes

* Add some tests for the synthesizer

* Run go mod tidy

* Pairing with N8

* Run deep copy

* Clean up GatewayChainSynthesizer

* Fix missing assignment of BoundAPIGateway topic

* Separate out synthesizeChains and toIngressTLS

* Fix build errors

* Ensure synthesizer skips non-matching routes by protocol

* Rebase on N8s work

* Generate DeepCopy() for API gateway listener types

* Improve variable name

* Regenerate DeepCopy() code

* Fix linting issue

* fix protobuf import

* Fix more merge conflict errors

* Fix synthesize test

* Run deep copy

* Add URLRewrite to proto

* Update agent/consul/discoverychain/gateway_tcproute.go

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

* Remove APIGatewayConfigEntry that was extra

* Error out if route kind is unknown

* Fix formatting errors in proto

---------

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
2023-02-09 17:58:55 +00:00
..
internal/watch perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
api_gateway.go Implement APIGateway proxycfg snapshot (#16194) 2023-02-08 15:52:12 -06:00
connect_proxy.go Fix configuration merging for implicit tproxy upstreams. (#16000) 2023-01-18 13:43:53 -06:00
data_sources.go feat: xDS updates for peerings control plane through mesh gw 2022-10-07 08:46:42 -06:00
data_sources_oss.go proxycfg: replace direct agent cache usage with interfaces (#13320) 2022-06-01 16:18:06 +01:00
deep-copy.sh Implement APIGateway proxycfg snapshot (#16194) 2023-02-08 15:52:12 -06:00
ingress_gateway.go ingress-gateways: don't log error when registering gateway (#15001) 2022-10-25 10:55:44 -07:00
manager.go proxycfg: rate-limit delivery of config snapshots (#14960) 2022-10-14 15:52:00 +01:00
manager_test.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
mesh_gateway.go Bring back parameter ServerExternalAddresses in GenerateToken endpoint (#15267) 2022-11-08 14:55:18 -06:00
mesh_gateway_oss.go proxycfg: remove dependency on `cache.UpdateEvent` (#13144) 2022-05-20 15:47:40 +01:00
naming.go Fix configuration merging for implicit tproxy upstreams. (#16000) 2023-01-18 13:43:53 -06:00
naming_oss.go peering: Make Upstream peer-aware (#12900) 2022-04-29 18:12:51 -04:00
naming_test.go Cluster peering failover disco chain changes (#14296) 2022-08-23 09:13:43 -04:00
proxycfg.deepcopy.go Implement APIGateway proxycfg snapshot (#16194) 2023-02-08 15:52:12 -06:00
proxycfg.go Regenerate files according to 1.19.2 formatter 2022-10-24 16:12:08 -04:00
snapshot.go API Gateway to Ingress Gateway Snapshot Translation and Routes to Virtual Routers and Splitters (#16127) 2023-02-09 17:58:55 +00:00
snapshot_test.go API Gateway to Ingress Gateway Snapshot Translation and Routes to Virtual Routers and Splitters (#16127) 2023-02-09 17:58:55 +00:00
state.go Implement APIGateway proxycfg snapshot (#16194) 2023-02-08 15:52:12 -06:00
state_oss_test.go proxycfg: replace direct agent cache usage with interfaces (#13320) 2022-06-01 16:18:06 +01:00
state_test.go Fix DialedDirectly configuration for Consul dataplane. (#15760) 2022-12-13 09:16:31 -06:00
terminating_gateway.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
testing.go removes ioutil usage everywhere which was deprecated in go1.16 (#15297) 2022-11-10 10:26:01 -06:00
testing_connect_proxy.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
testing_ingress_gateway.go ingress-gateways: don't log error when registering gateway (#15001) 2022-10-25 10:55:44 -07:00
testing_mesh_gateway.go feat: xDS updates for peerings control plane through mesh gw 2022-10-07 08:46:42 -06:00
testing_oss.go proxycfg: replace direct agent cache usage with interfaces (#13320) 2022-06-01 16:18:06 +01:00
testing_peering.go Fix mesh gateway configuration with proxy-defaults (#15186) 2022-11-09 10:14:29 -06:00
testing_terminating_gateway.go Add extension validation on config save and refactor extensions. (#16110) 2023-01-30 15:35:26 -06:00
testing_tproxy.go troubleshoot: service to service validation (#16096) 2023-01-27 11:43:16 -08:00
testing_upstreams.go [OSS] extensions: refactor PluginConfiguration into a more generic type ExtensionConfiguration (#15846) 2022-12-20 22:26:20 -08:00
upstreams.go Implement APIGateway proxycfg snapshot (#16194) 2023-02-08 15:52:12 -06:00