- This is very high-level and half baked.
- This is intended to suggest one way that black-box sources could be auto-created in specific circumstances from a declaration of interest in events.
- This assumes a model somewhat similar to Broker and Trigger (called Broker and Rules here) with the following additions:
- The Rule has a filter expression which matches more than event types. I've used CEL here.
- There is a process which propagates "upstream" (i.e. from consumer to origin) the set of filters currently listening.
- We use an annotation,
eventing.knative.dev/filter
, as a way to copy filters from the Rules upstream through the components towards the event origin. Using an annotation allows non-filtering entities (such as Channel or Subscription) to propagate their filters upstream, even though they don't perform any filtering of their own. - This assumes that the user has also made github-enabled secrets available to the
default
service account, and that thegithubsource
CR defaults to using thedefault
service account. (This means a one-time setup to enable GitHub, and thengithubsource
s will be auto-generated as rules requesting them are called for.
Read in order: