Backstage integration for Knative Eventing
Problem Backstage, the internal developer portal, could be a very useful way to spread the usage of Knative Eventing.
While we're working on Event Discovery (issue, project) feature, we realized it can be very useful if the developers can discover the EventTypes in Backstage, with their metadata (docs, schema, etc.).
Similarly, it might make sense to show the sources/sinks/services/etc.. Perhaps in a topology view with connections, in a list view without connections but discoverable.
Furthermore, this integration can be even extended to an integration with Knative Functions. It can be possible to select an EventType and create a consumer/producer template. The outcome would be a Knative Functions project with some of the implementation filled for the EventType.
Some important aspects:
- Backstage is a company-wide tool. It can have multiple Kubernetes clusters connected. This means, for example, to show the available
EventTypes, implementation needs to visit multiple clusters and/or ask for user's cluster selection. - Backstage is not a replacement for all the UIs out there (Kubernetes console, etc.). Don't assume this will be the ultimate place to manage Brokers/Triggers/Sources/etc.
- Backstage traditionally displays the read-only information.
I would like to work on this integration and wanted to inform the upstream Knative community by creating this issue; possibly gain some contributor interest.
In the end, if everything goes well, we might think about owning the integration in the Knative community.
cc @tumido
We will create a POC in this repository, before creating something in knative-sandbox org: https://github.com/openshift-knative/knative-eventing-backstage-poc
@aliok I would be happy to help on making this POC