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
Copy file name to clipboardExpand all lines: rfcs/NNNN-cdevents-provider/README.md
+21-7
Original file line number
Diff line number
Diff line change
@@ -17,24 +17,29 @@ Must be one of `provisional`, `implementable`, `implemented`, `deferred`, `rejec
17
17
18
18
## Summary
19
19
20
-
This RFC proposes to add a `Provider` type to the Flux notification-controller API for sending [CDEvents](https://github.com/cdevents).
20
+
This RFC proposes to add a `Provider` type to the Flux notification-controller API for sending
21
+
[CDEvents](https://github.com/cdevents).
21
22
22
-
When `Provider` objects configured to send CDEvents are alerted by a Flux event, they will utilise an already defined mapping of Flux and CDEvents events to send an appropriate CDEvent payload to a defined URL.
23
+
When `Provider` objects configured to send CDEvents are alerted by a Flux event, they will utilise an already defined
24
+
mapping of Flux and CDEvents events to send an appropriate CDEvent payload to a defined URL.
23
25
<!--
24
26
One paragraph explanation of the proposed feature or enhancement.
25
27
-->
26
28
27
29
## Motivation
28
30
29
-
CDEvents enables interoperability between supported tools in a workflow, and flux is a very popular continuous delivery tool, as such we have received many questions about implementing CDEvents into the tool. The receiver part of this integration is already implemented in flux 2.3.0
31
+
CDEvents enables interoperability between supporte tools in a workflow, and flux is a very popular continuous delivery
32
+
tool, as such we have received many questions about implementing CDEvents into the tool. The receiver part of this
33
+
integration is already implemented in flux 2.3.0
30
34
<!--
31
35
This section is for explicitly listing the motivation, goals, and non-goals of
32
36
this RFC. Describe why the change is important and the benefits to users.
33
37
-->
34
38
35
39
### Goals
36
40
37
-
Integrate [CDEvents](https://github.com/cdevents) into Flux with a CDEvents Provider that supports sending CDEvent events.
41
+
Integrate [CDEvents](https://github.com/cdevents) into Flux with a CDEvents Provider that supports sending CDEvent
42
+
events.
38
43
39
44
<!--
40
45
List the specific goals of this RFC. What is it trying to achieve? How will we
@@ -52,7 +57,10 @@ and make progress.
52
57
53
58
## Proposal
54
59
55
-
Add CDEvents to the list of available `Providers` in Flux Notification controller. The relevant CDEvent sent by the `Provider` will be determined by a pre-defined mapping of Flux events and relevant CDEvents. These CDEvent payloads should have meaningful data from the source event. There will be an initial focus on HelmRelease and related events as the format within Flux for those events is much more consistent.
60
+
Add CDEvents to the list of available `Providers` in Flux Notification controller. The relevant CDEvent sent by the
61
+
`Provider` will be determined by a pre-defined mapping of Flux events and relevant CDEvents. These CDEvent payloads
62
+
should have meaningful data from the source event. There will be an initial focus on HelmRelease and related events as
63
+
the format within Flux for those events is much more consistent.
56
64
<!--
57
65
This is where we get down to the specifics of what the proposal actually is.
58
66
This should have enough detail that reviewers can understand exactly what
@@ -67,7 +75,11 @@ then this section can be replaced with the actual documentation.
67
75
68
76
Users of multiple CI/CD tools such as Tekton and Flux could use CDEvents as a way to enable interoperability.
69
77
70
-
For example, a user may want a Tekton `pipeline` to run once a HelmRelease flux resource has succeeded in a Helm install. On successful helm install, Flux will emit an event with reason `InstallSucceeded` which will be mapped to an `Environment.Modified` CDEvent. The CDEvent `Provider` will then send a payload with that CDEvent, which will also contain data from the Flux event, to a CloudEvents broker that Tekton is subscribed to, and trigger a Pipeline Run within Tekton.
78
+
For example, a user may want a Tekton `pipeline` to run once a HelmRelease flux resource has succeeded in a Helm
79
+
install. On successful helm install, Flux will emit an event with reason `InstallSucceeded` which will be mapped to an
80
+
`Environment.Modified` CDEvent. The CDEvent `Provider` will then send a payload with that CDEvent, which will also
81
+
contain data from the Flux event, to a CloudEvents broker that Tekton is subscribed to, and trigger a Pipeline Run
@@ -89,7 +101,9 @@ This is a good place to incorporate suggestions made during discussion of the RF
89
101
90
102
Adding a Flux `Provider` for CDEvents that will send a CDEvent payload upon receiving a flux event from an alert.
91
103
92
-
Once an alert is triggered for this provider, it will send a CDEvent that corresponds to the Flux event that caused the alert. This CDEvent will be created using the [CDEvents Go SDK](https://github.com/cdevents/sdk-go). The implementation will include a defined mapping of which Flux events trigger a corresponding CDEvent.
104
+
Once an alert is triggered for this provider, it will send a CDEvent that corresponds to the Flux event that caused the
105
+
alert. This CDEvent will be created using the [CDEvents Go SDK](https://github.com/cdevents/sdk-go). The implementation
106
+
will include a defined mapping of which Flux events trigger a corresponding CDEvent.
93
107
94
108
The CDEvents broker is not a part of this design and is left to the users to set up however they wish.
0 commit comments