open-consul/agent/proxycfg
Daniel Upton 1cd7ec0543 proxycfg: terminate stream on irrecoverable errors
This is the OSS portion of enterprise PR 2339.

It improves our handling of "irrecoverable" errors in proxycfg data sources.

The canonical example of this is what happens when the ACL token presented by
Envoy is deleted/revoked. Previously, the stream would get "stuck" until the
xDS server re-checked the token (after 5 minutes) and terminated the stream.

Materializers would also sit burning resources retrying something that could
never succeed.

Now, it is possible for data sources to mark errors as "terminal" which causes
the xDS stream to be closed immediately. Similarly, the submatview.Store will
evict materializers when it observes they have encountered such an error.
2022-08-23 20:17:49 +01:00
..
internal/watch feat: connect proxy xDS for destinations 2022-07-14 15:27:02 -04:00
connect_proxy.go Add ACL enforcement to peering endpoints 2022-07-25 09:34:29 -06:00
data_sources.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
data_sources_oss.go proxycfg: replace direct agent cache usage with interfaces (#13320) 2022-06-01 16:18:06 +01:00
ingress_gateway.go Remove excess debug log from ingress upstream shutdown 2022-07-22 17:29:38 -07:00
manager.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
manager_test.go feat: connect proxy xDS for destinations 2022-07-14 15:27:02 -04:00
mesh_gateway.go Add ACL enforcement to peering endpoints 2022-07-25 09:34:29 -06:00
mesh_gateway_oss.go proxycfg: remove dependency on `cache.UpdateEvent` (#13144) 2022-05-20 15:47:40 +01:00
naming.go Cluster peering failover disco chain changes (#14296) 2022-08-23 09:13:43 -04: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.go Enable servers to configure arbitrary proxies from the catalog (#13244) 2022-05-27 12:38:52 +01:00
snapshot.go feat: convert destination address to slice 2022-07-25 12:31:58 -04:00
state.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01: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 Add ACL enforcement to peering endpoints 2022-07-25 09:34:29 -06:00
terminating_gateway.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
testing.go Add ACL enforcement to peering endpoints 2022-07-25 09:34:29 -06:00
testing_connect_proxy.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
testing_ingress_gateway.go fix: multiple grpc/http2 services for ingress listeners 2022-05-26 10:43:58 -04:00
testing_mesh_gateway.go state: prohibit exported discovery chains to have cross-datacenter or cross-partition references (#13726) 2022-07-12 11:03:41 -05:00
testing_oss.go proxycfg: replace direct agent cache usage with interfaces (#13320) 2022-06-01 16:18:06 +01:00
testing_peering.go Make envoy resources for inferred peered upstreams (#13758) 2022-07-19 14:56:28 -04:00
testing_terminating_gateway.go inject gateway addons to destination clusters (#13951) 2022-07-28 15:17:35 -04:00
testing_tproxy.go Tgtwy egress HTTP support (#13953) 2022-08-01 14:12:43 -04:00
testing_upstreams.go proxycfg: remove dependency on `cache.UpdateEvent` (#13144) 2022-05-20 15:47:40 +01:00
upstreams.go Fix duplicate Notify calls for discovery chains in ingress gateways 2022-07-20 14:25:20 -07:00