eventing icon indicating copy to clipboard operation
eventing copied to clipboard

Proposal: Create an HTTP source

Open Cali0707 opened this issue 1 year ago • 6 comments

Problem Currently the Kafka source allows for conversion of kafka messages into CloudEvents for consumption with eventing. To make it easier for other legacy systems to integrate into Eventing, we should provide a really simple http source which exposes an http endpoint and converts all http requests it receives into valid CloudEvents before passing them into the system.

Persona: Which persona is this feature for?

People integrating eventing with older systems who don't want to change those systems Exit Criteria A source which can accept any http request and turn it into a valid CloudEvent

Time Estimate (optional): How many developer-days do you think this may take to resolve? 2

Additional context (optional) Add any other context about the feature request here.

Cali0707 avatar Nov 27 '23 19:11 Cali0707

cc @pierDipi

Any thoughts?

Cali0707 avatar Nov 27 '23 19:11 Cali0707

This is similar to the @creydr feature extension about OAuthSource/Sink outlined here https://docs.google.com/document/d/1e7UgNTkL0Br5Da09Rg2ieVmhKJo4VXuBj-mHT9NCujY/edit#heading=h.a9ka3es7ol9v and I think it's useful to have.

It also helps with connecting other systems (including AWS eventbridge using https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html which would be another good goal to have in such source)

pierDipi avatar Nov 28 '23 09:11 pierDipi

A draft proposal is here

cc @aliok @creydr @matzew @pierDipi

Cali0707 avatar Nov 29 '23 15:11 Cali0707

Hey @Cali0707, I want to try this issue.

- httpsource
  - pkg
    - httpsource
      - server.go          // HTTP server implementation
      - handler.go         // Request handling logic
      - cloudevent.go      // CloudEvent generation logic
    - reconciler
      - httpsource.go      // Control plane logic

How far is it correct? I also need some guidance while working on it later on! 🙂

professorabhay avatar Feb 10 '24 14:02 professorabhay

Hi @professorabhay this isn't ready to be worked on, it is still in design. I appreciate the enthusiasm though, I'll reach out when it is ready!

Cali0707 avatar Feb 11 '24 00:02 Cali0707

@pierDipi I've been thinking about this some more, and I'm wondering if maybe it would be better to have some sort of request-response proxy, so that if a user wants to call services connected by eventing like a normal http endpoint (and get a response with data instead of an ACK), they can just deploy this component.

WDYT?

Cali0707 avatar Apr 12 '24 19:04 Cali0707

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

github-actions[bot] avatar Jul 12 '24 01:07 github-actions[bot]