-
Notifications
You must be signed in to change notification settings - Fork 34
Knative Serving use of CD Events, Use Cases and PoC #107
Comments
The proposal includes consuming events from the Continuous Integration Pipeline Events such as As mentioned in the issue description, I think that we would benefit by implementing the described use cases with Tekton and then expanding to other projects. This PoC will allow us to evolve the definition of the categories in the vocabulary to expand the type of use cases that can be implemented using the current CD Events SDK. I am currently concerned about the semantics of the events that we have described in the vocabulary, as I believe that we need to expand the vocabulary to cover both inbound and outbound events that make sense, no matter which technology we use. For example:
For both examples, if we let users do the mapping, which is the most flexible approach, we push implementations to build these custom components. I have a gut feeling that tells me that what we need to provide is a way to expose which operations can be performed (running a pipeline, deploying a service, etc) and then how |
Seems like a very concrete and intuitively valuable use case. I am in favor of letting this use case help define events and event content. |
@salaboy @ishakhare07 thanks for this use case. About outgoing / incoming events, I think the discussion is related to the declarative vs. imperative events discussion we had in the past. IIUC we agreed that we want our events to be declarative, and let the receiver side decide what to do with them.
I would not go as far as adding anything to the spec though that tells implementors what to do when they receive an event. |
About the events required for this use case, in the spec today we have:
In this issues you're proposing:
What is the relationship with existing events? Are they mean to replace the original ones, or add to them? Thank you! |
@afrittoli I think I can clarify a bit about some of the existing/proposed events and their relationships.
I think the idea here was to just add a few more details to the existing events while keeping whats already there. These mostly go to the event's extensions fields. Coming to the other ones, here's what our initial thoughts were:
Would like to know @salaboy 's thought on that as well |
@ishankhare07 @afrittoli good questions We created the vocabulary without having any real example in mind and we will need to start refining the events, names and semantics as we go. @ishankhare07 I think that we can create a separate issue for adding @afrittoli I think that we need |
thanks for the clarification @salaboy Also to reflecting on your suggestion and to add a bit more context to it, I'll add these following two flowcharts
|
@afrittoli can you check these diagrams to validate that they make sense? We will move ahead trying to implement this and I've opened an issue for adding just one new event type. |
To refine and improve the CD Events vocabulary and show its potential on integrating different technologies and covering different use cases I want to propose a new set of use cases covering Knative Serving, CD Events and Tekton Pipelines.
Knative Serving is closely related with the Continuous Deployment pipeline events
Use Case 1:
Use Case 2:
While these use cases can be implemented by imperatively interacting with Knative from Tekton or by creating a request from Knative to Tekton, the CD events approach decouple the interactions between these systems promoting wider ecosystem integration possibilities and reducing the dependencies between the different parties. At the same time, it helps us to improve the vocabulary with working examples using real-life projects and implementations.
These use cases can be extended by adding Keptn to have more control on what actions to perform on Knative Serving CD Events.
An ongoing PoC can be found here thanks to @ishankhare07 who is doing an amazing work 🤘
The text was updated successfully, but these errors were encountered: