salaboy / knative-cloudevents-controller

Knative Controller which emits cloud events when Knative Resources change state
Apache License 2.0
2 stars 1 forks source link

Knative Serving CloudEvents Controller Proposal #1

Open salaboy opened 2 years ago

salaboy commented 2 years ago

The main objective of this controller for Knative Serving is to externalize the state of the Knative Service resources so other tools can react to these events. One of the main objectives of this controller is to enable interoperability with other tools outside the Knative ecosystem, hence this proposal relies on the http://cd.foundation sig-events working group definitions for events. This is achieved by using the CDE library to emit events defined in this common and shared vocabulary.

Goals

If this controller is present on a Knative Serving installation, this controller should:

This controller should follow the same approach as the Tekton cloud events controller: https://github.com/tektoncd/experimental/tree/main/cloudevents

This controller doesn't define any new CRD

This controller needs to use events defined here: https://github.com/tektoncd/experimental/blob/main/cloudevents/go.mod#L6

If there is an event that we need to emit that is currently not defined we need to submit a PR to: https://github.com/cdfoundation/sig-events/tree/main/cde/sdk/go

After milestone 1 we need to create a proposal to add this project to the knative-sandbox org and advertise for other developers to help us improve the code.