You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The operator should be able to register and post to an event sink. This will be beneficial for the app so that the app can get events directly from the operator and then take decisions based on the events.
Passing the cloudevent sink URL
We should be able to provide a cloudevent sink as an environment variable called EVENT_SINK for the operator which will be registered as a flag globally.
A client will be created and set on the Reconcilers through which the uffizzi cluster and etcd controllers in the operator do a HTTP POST request during every event in the lifecycle of a UffizziCluster.
Communication protocol
It will be easier to use an existing communication protocol so cdevents will be a good choice for this considering it's existing data types for manipulating environment data. The CDEvents Go SDK will be used for the implementation. At the core, CDEvents are just cloudevents so we will be sending these through a cloudevents client registered on the reconciler. Here is an example of a simple program which creates a cdevent and sends it to a cloudevent endpoint via HTTP.
Next steps
The uffizzi app can consume this information by creating a sink which will be passed as an environment variable to the operator. The app can use the Cloudevents Ruby SDK for this purpose.
The text was updated successfully, but these errors were encountered:
waveywaves
changed the title
events sink for the operator which uffizzi app can connect to
Event Sink
Nov 13, 2023
Goal
The operator should be able to register and post to an event sink. This will be beneficial for the app so that the app can get events directly from the operator and then take decisions based on the events.
Passing the cloudevent sink URL
We should be able to provide a cloudevent sink as an environment variable called
EVENT_SINK
for the operator which will be registered as a flag globally.A client will be created and set on the Reconcilers through which the
uffizzi cluster
andetcd
controllers in the operator do a HTTP POST request during every event in the lifecycle of a UffizziCluster.Communication protocol
It will be easier to use an existing communication protocol so
cdevents
will be a good choice for this considering it's existing data types for manipulating environment data. The CDEvents Go SDK will be used for the implementation. At the core, CDEvents are just cloudevents so we will be sending these through a cloudevents client registered on the reconciler. Here is an example of a simple program which creates a cdevent and sends it to a cloudevent endpoint via HTTP.Next steps
The uffizzi app can consume this information by creating a sink which will be passed as an environment variable to the operator. The app can use the Cloudevents Ruby SDK for this purpose.
The text was updated successfully, but these errors were encountered: