Support for Knative Eventing
Description
As a developer, I want a simple way to "subscribe" to an event source so that I can register my serverless function as an event handler.
Acceptance criteria
- When Knative eventing is enabled, there is a way for
odouser to discover various event sources. - When Knative eventing is enabled, there is a way for
odouser to "link" or subscribe from a source to a target. - When user doesn't have appropriate RBAC (permissions), they don't have a way to enable such a connection.
Maybe the upstream discussion of how eventing is going to be integrated into kn might be useful in this context: https://docs.google.com/document/d/1B8VK-5nuxt3D-i1Up3onmUbzcztQXE0GRgf1lfx49P8/edit
It's mostly about managing source, where three types of sources as distinguished:
- Built-in (those that come with eventing itself)
- Plugins (dedicated client plugins that are picked up by
kn) - Untyped by inspecting the source meta-data CRD. There is in an interesting ongoing discussion of how client-related metadata can be put onto Eventing sources' metadata. See eg. https://github.com/knative/eventing/issues/2879 or https://github.com/knative/eventing/issues/1940
Currently has support for all built-in source, the first plugins (for KafkaSource and GitHub source are currently developed (within https://github.com/knative/client-contrib), but the untyped sources are still in the conceptual phase.
For synergy with odo I could imagine:
- Adapt the
knplugin support for reusing kn based source plugins - Use the discovery mechanism coming to Knative upstream soon and leverage the meta-data that ma Source CRDs (which are unique for each source) and CLI options (but see the issues referenced above).
Happy to discuss how the work from the Knative upstream client can possibly be leveraged here. I would especially recommend joining the discussion around UI related meta-data (the issues linked above), to add the odo perspective there.
Issues go stale after 90d of inactivity.
Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.
If this issue is safe to close now please do so with /close.
/lifecycle stale
/lifecycle frozen