Problem
Using the Broker objects, it's not straight forward how to deliver a set of events across namespaces. Specifically when you have a many-to-many relationship between Event Sources and Brokers. Using existing primitives, one would need to funnel in all events through channels/subscriptions across namespaces to the namespace broker, where they will be finally filtered by the triggers, which is very inefficient in resource utilization given the potential that thousands of events might get unnecessarily routed and persisted without real subscribers.
Persona:
Which persona is this feature for?
- Event Consumers (efficient events routing)
- Event Producers
- Systems integrators
Exit Criteria
Given brokers A and B are in two different namespaces, Events can be routed from A to B given that there are Trigger object for Broker B with matching filters.
Time Estimate (optional):
7 days
Additional context (optional)
In Kyma, there exists many event sources in a single, admin controller namespace due to admin provided credentials etc, and there are many interested subscribers (functions and microservices) across multiple namespaces. To solve this, we have an Event Bus with a RESTful API and that leverages Knative Channel objects for fanning out events to subscribers across multiple namespaces using URIs if and only if access control per namespace allows it (we use an EventActivation CRD) and there're existing subscribers to this event type.
Trying to solve this using existing primitives, we had attempts such as the following

which ends up in doing the filtering at a very late stage.
Problem
Using the
Brokerobjects, it's not straight forward how to deliver a set of events across namespaces. Specifically when you have a many-to-many relationship between Event Sources and Brokers. Using existing primitives, one would need to funnel in all events through channels/subscriptions across namespaces to the namespace broker, where they will be finally filtered by the triggers, which is very inefficient in resource utilization given the potential that thousands of events might get unnecessarily routed and persisted without real subscribers.Persona:
Which persona is this feature for?
Exit Criteria
Given brokers A and B are in two different namespaces, Events can be routed from A to B given that there are
Triggerobject for Broker B with matching filters.Time Estimate (optional):
7 days
Additional context (optional)
In Kyma, there exists many event sources in a single, admin controller namespace due to admin provided credentials etc, and there are many interested subscribers (functions and microservices) across multiple namespaces. To solve this, we have an Event Bus with a RESTful API and that leverages Knative Channel objects for fanning out events to subscribers across multiple namespaces using URIs if and only if access control per namespace allows it (we use an EventActivation CRD) and there're existing subscribers to this event type.
Trying to solve this using existing primitives, we had attempts such as the following
which ends up in doing the filtering at a very late stage.