open-consul/agent/proxycfg-glue
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
..
config_entry.go proxycfg-glue: server-local implementation of ServiceList 2022-07-14 18:22:12 +01:00
config_entry_test.go proxycfg: server-local config entry data sources 2022-07-04 10:48:36 +01:00
discovery_chain.go proxycfg-glue: server-local compiled discovery chain data source 2022-07-14 18:22:12 +01:00
discovery_chain_test.go proxycfg-glue: server-local compiled discovery chain data source 2022-07-14 18:22:12 +01:00
exported_peered_services.go sync more acl enforcement 2022-07-28 12:01:52 -07:00
exported_peered_services_test.go Implement/Utilize secrets for Peering Replication Stream (#13977) 2022-08-01 10:33:18 -04:00
federation_state_list_mesh_gateways.go proxycfg-glue: server-local implementation of FederationStateListMeshGateways 2022-07-14 18:22:12 +01:00
federation_state_list_mesh_gateways_test.go proxycfg-glue: server-local implementation of FederationStateListMeshGateways 2022-07-14 18:22:12 +01:00
gateway_services.go proxycfg-glue: server-local implementation of GatewayServices 2022-07-14 18:22:12 +01:00
gateway_services_test.go proxycfg-glue: server-local implementation of GatewayServices 2022-07-14 18:22:12 +01:00
glue.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
health.go proxycfg-glue: server-local implementation of the Health interface 2022-07-14 18:22:12 +01:00
health_test.go proxycfg-glue: server-local implementation of the Health interface 2022-07-14 18:22:12 +01:00
helpers_test.go proxycfg-glue: server-local implementation of ExportedPeeredServices 2022-07-22 15:23:23 +01:00
intention_upstreams.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
intention_upstreams_test.go proxycfg-glue: server-local compiled discovery chain data source 2022-07-14 18:22:12 +01:00
intentions.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
intentions_ent_test.go proxycfg-glue: server-local compiled discovery chain data source 2022-07-14 18:22:12 +01:00
intentions_oss.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
intentions_test.go proxycfg-glue: server-local compiled discovery chain data source 2022-07-14 18:22:12 +01:00
peered_upstreams.go sync more acl enforcement 2022-07-28 12:01:52 -07:00
peered_upstreams_test.go sync more acl enforcement 2022-07-28 12:01:52 -07:00
service_list.go proxycfg-glue: server-local implementation of ServiceList 2022-07-14 18:22:12 +01:00
service_list_test.go proxycfg-glue: server-local implementation of ServiceList 2022-07-14 18:22:12 +01:00
trust_bundle.go sync more acl enforcement 2022-07-28 12:01:52 -07:00
trust_bundle_test.go Implement/Utilize secrets for Peering Replication Stream (#13977) 2022-08-01 10:33:18 -04:00