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