[Brigade] New Event Gateways #602
Replies: 5 comments 10 replies
-
In brigadecore/brigade#1817, @AnuragThePathak asked:
There are several existing gateways at various stages of maturity:
I know of someone, unrelated to GSoC, who has expressed interest in working on a Teams and Discord gateways, so consider the possibility that those might already be works-in-progress somewhere outside the @brigadecore organization. There are also a couple other things that create events that aren't strictly considered gateways because they're not brokering events from some external source:
Looking at any one of these would give you the basic ideas behind how to send events to Brigade. Some of them are simple (to a fault, even). Some, like the GitHub and Slack gateways are more complex, and as long as you don't get bogged down in the GitHub-specific or Slack-specific aspects of them, you would find a nice pattern in those two that you can replicate. That pattern involves two components -- a receiver and a monitor. The receiver, as its name might imply, receives non-Brigade events from some external source and converts those to Brigade events and sends them to Brigade. The monitor follows up on events the receiver has created and reports status "upstream" to the original source of the event (if that's an applicable thing). If I were to offer some non-technical advice to anyone interested in creating a gateway, it would be to shy away from anything CI/CD-related. The project is trying to overcome the mis-perception that it is a CI/CD platform. Brigade is a general-purpose automation platform. CI/CD is only one specialized case of automation, but because this is the use case that's been exercised the most (even by the maintainers), to date, it's created the misconception that that's what Brigade is. We'd really love to show off how Brigade is useful for other things. Brigade can connect any arbitrary event to any arbitrary workflow, as long as someone is willing to write a gateway for that type of event. Things that are imaginative and useful would be awesome! |
Beta Was this translation helpful? Give feedback.
-
Hi, I'm interested in teaming with @AnuragThePathak for writing more new gateway. I'm also checking docs to understand furthermore, I will go into examples that are illustrated in docs. |
Beta Was this translation helpful? Give feedback.
-
Hi, is there any particular template and word limit for Brigade or CNCF proposals? |
Beta Was this translation helpful? Give feedback.
-
@AnuragThePathak GitLab would be cool. You're not the first to ask if that would be a good one. Twitter also would be very interesting. In fact, I'll be open that I think that's more interesting than GitLab because it would showcase how Brigade can be used for things that aren't CI. (Brigade is too often mistaken for a CI platform. It can do CI, but it's a general purpose automation platform, so gateways that help enable other uses are especially welcome!) |
Beta Was this translation helpful? Give feedback.
-
@krancour the Twitter webhooks (for enterprise and paid premium) require confirmation about receipt of the event. I think as it does not require the status of the event after receipt, the event is also not required to be followed up by a monitor in this case. Am I correct? |
Beta Was this translation helpful? Give feedback.
-
Brigade event gateways are peripheral components that are installed alongside Brigade to receive events from external systems, transform those events into Brigade events, and enqueue them on Brigade's event bus. Most gateways are small, simple programs. On the more sophisticated end of the spectrum, gateways may go as far as utilizing the Brigade API to monitor the status of events they have created so they can report those statuses "upstream" to the original source of the event. This project invites candidates to propose and implement one or more new gateways.
Mentor(s): Kent Rancourt (@krancour)
https://github.com/cncf/mentoring/blob/main/summerofcode/2022.md#new-event-gateways
Beta Was this translation helpful? Give feedback.
All reactions