open-consul/agent/proxycfg-glue
Daniel Upton 21ea217b1d proxycfg: server-local intentions data source
This is the OSS portion of enterprise PR 2141.

This commit provides a server-local implementation of the `proxycfg.Intentions`
interface that sources data from streaming events.

It adds events for the `service-intentions` config entry type, and then consumes
event streams (via materialized views) for the service's explicit intentions and
any applicable wildcard intentions, merging them into a single list of intentions.

An alternative approach I considered was to consume _all_ intention events (via
`SubjectWildcard`) and filter out the irrelevant ones. This would admittedly
remove some complexity in the `agent/proxycfg-glue` package but at the expense
of considerable overhead from waking potentially many thousands of connect
proxies every time any intention is updated.
2022-07-04 10:48:36 +01:00
..
config_entry.go proxycfg: server-local config entry data sources 2022-07-04 10:48:36 +01:00
config_entry_test.go proxycfg: server-local config entry data sources 2022-07-04 10:48:36 +01:00
glue.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
intentions.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
intentions_ent_test.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
intentions_oss.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
intentions_test.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00