Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve kafka adapter #411

Open
Tracked by #477 ...
KhudaDad414 opened this issue Mar 23, 2023 · 34 comments
Open
Tracked by #477 ...

Improve kafka adapter #411

KhudaDad414 opened this issue Mar 23, 2023 · 34 comments
Assignees
Labels
area/typescript Specify what technical area given issue relates to. Its goal is to ease filtering good first issues. enhancement New feature or request good first issue Good for newcomers stale

Comments

@KhudaDad414
Copy link
Member

Reason/Context

The current implementation of kafka adapter provides the bare minimum functionality and I think we can improve upon that by using bindings.

What are bindings

AsyncAPI is protocol agnostic, it means that it supports a wide range of protocols and doesn't "assume" the protocol when you are writing your AsyncAPI file.
but if it doesn't assume protocols, how are we supposed to write our file accustomed to an specific protocols?
Behold, the answer is bindings.
If you look at kafka bindings you will see a wide range of options that can be used to customize every part of your kafka client.

The Problem

Currently kafka adapter ignore lots of this options. for example. instead of using clientId from bindings for clinetId it just sets it to glee-client.

The Solution

Kafka bindings should be examined and we should support as much features as the bindings support.

@KhudaDad414 KhudaDad414 added the enhancement New feature or request label Mar 23, 2023
@KhudaDad414
Copy link
Member Author

/gfi ts

@asyncapi-bot asyncapi-bot added area/typescript Specify what technical area given issue relates to. Its goal is to ease filtering good first issues. good first issue Good for newcomers labels Mar 23, 2023
@asyncapi asyncapi deleted a comment from asyncapi-bot Mar 23, 2023
@shubham-y
Copy link

Hey @KhudaDad414 , I would like to work on this issue

@KhudaDad414
Copy link
Member Author

KhudaDad414 commented Mar 23, 2023

@shubham-y sure. Just let me know if you have any questions 🙂

@shubham-y
Copy link

I see there is a similar draft PR #381 opened 2 months ago. So is there any discussion that I can refer to from that time?

@KhudaDad414
Copy link
Member Author

Not that I know of. this issue is also kinda related to #27

@shubham-y
Copy link

Hey @KhudaDad414 , I went through the current implementation of kafka adapter and kafka bindings document.
I have a doubt
In Server Binding Object there is a field schemaRegistryVendor, which vendors will we be supporting?
Because I could only find this package for confluent @kafkajs/confluent-schema-registry which uses the avsc library for Avro encoding/decoding.
Also, will we be also supporting other serializers than Avro?

For further doubts in the future, please let me know which platform is preferred for such doubts Slack or GitHub comments

@KhudaDad414
Copy link
Member Author

KhudaDad414 commented Apr 4, 2023

Hi @shubham-y,

In Server Binding Object there is a field schemaRegistryVendor, which vendors will we be supporting?

Based on a recent discussion that I had with @fmvilas, We think it is better to ignore the schemaRegistryVendor for now. This is something that needs to be done in parser-js. we basically get the parsed schema in glee. so we do not need to worry about it.

@KhudaDad414
Copy link
Member Author

Hey @shubham-y, Have you started working on this issue? 😄 @Ruchip16 can continue to work on it or give a hand if you need some help.

@shubham-y
Copy link

Hey @shubham-y, Have you started working on this issue? 😄 @Ruchip16 can continue to work on it or give a hand if you need some help.

Hey @KhudaDad414, I had started working on it but had to take a break due to unavoidable personal circumstances. Sorry, I did not communicate earlier. I have resumed working on it and it will great if @Ruchip16 can help me with this as I am struggling a bit due to limited docs/tutorials for Glee.

@Ruchip16
Copy link
Contributor

Hey @shubham-y, Have you started working on this issue? smile @Ruchip16 can continue to work on it or give a hand if you need some help.

Hey @KhudaDad414, I had started working on it but had to take a break due to unavoidable personal circumstances. Sorry, I did not communicate earlier. I have resumed working on it and it will great if @Ruchip16 can help me with this as I am struggling a bit due to limited docs/tutorials for Glee.

hey I can initiate a PR for you and you can take it from there, if that sounds good?

@shubham-y
Copy link

Hey @shubham-y, Have you started working on this issue? smile @Ruchip16 can continue to work on it or give a hand if you need some help.

Hey @KhudaDad414, I had started working on it but had to take a break due to unavoidable personal circumstances. Sorry, I did not communicate earlier. I have resumed working on it and it will great if @Ruchip16 can help me with this as I am struggling a bit due to limited docs/tutorials for Glee.

hey I can initiate a PR for you and you can take it from there, if that sounds good?

Sounds good. Thank you for that.

@kaushik-rishi
Copy link
Contributor

kaushik-rishi commented May 26, 2023

Me and @shubham-y have agreed to work on it together 🙂

UPDATE (May 26)
Ruchi, said she'll work on it and we are not working on it.

@Souvikns Souvikns mentioned this issue Jul 13, 2023
10 tasks
@sudoshreyansh
Copy link
Contributor

Hi, is this issue available to be taken?

@kaushik-rishi
Copy link
Contributor

@Ruchip16 is working on it @sudoshreyansh 🙂

I wanted to take it up but she said she was working on it.

@sudoshreyansh
Copy link
Contributor

@kaushik-rishi 👍

@oviecodes
Copy link
Contributor

/progress 10 I'm starting to work on this.

@Souvikns
Copy link
Member

Souvikns commented Oct 5, 2023

any updates on this @oviecodes?

@oviecodes
Copy link
Contributor

@Souvikns I'm sorry I got so busy, please can you take this, I'll join you once I'm free. Thanks

@Amzani
Copy link
Collaborator

Amzani commented Oct 11, 2023

@KhudaDad414 will take a look

@KhudaDad414 KhudaDad414 self-assigned this Oct 20, 2023
@KhudaDad414
Copy link
Member Author

/progress 10
started looking into the Kafka bindings.

@oviecodes
Copy link
Contributor

@KhudaDad414 any updates on this?

@KhudaDad414
Copy link
Member Author

@oviecodes I am busy with spec v3 support in glee. might do it later. I don't have any progress in it. so feel free to pick it up.

@oviecodes
Copy link
Contributor

Alright man 👍...

@oviecodes
Copy link
Contributor

@fmvilas @Souvikns @KhudaDad414 could anyone please explain this issue further?

@KhudaDad414
Copy link
Member Author

@oviecodes to summarise, you have to look through the bindings here: https://github.com/asyncapi/bindings/tree/next-major-spec/kafka, parse them from the asyncapi document and apply them whenever necessary. we are using https://kafka.js.org/ in Glee, so all you have to do is parse the bindings and pass them to the kafkajs. that's it.

@Ruchip16
Copy link
Contributor

Ruchip16 commented Nov 30, 2023

Hey @KhudaDad414 can i start working on this again, I promise to complete it this time 😅?

@oviecodes
Copy link
Contributor

@Ruchip16 wanna work on this one together? 😃

@Ruchip16
Copy link
Contributor

Ruchip16 commented Dec 6, 2023

yes yes suree 😊

@oviecodes
Copy link
Contributor

that's great, we'll open a pull request to update our progress on this issue 🙂

@oviecodes
Copy link
Contributor

oviecodes commented Dec 8, 2023

/progress 20 looking into kafka bindings and kafka.js

@oviecodes
Copy link
Contributor

The Kafka Adapter has to be updated to use spec v3. I'll open an issues as appropriate @Souvikns @KhudaDad414

Copy link
Contributor

github-actions bot commented May 5, 2024

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added the stale label May 5, 2024
@KhudaDad414 KhudaDad414 removed the stale label May 7, 2024
@KhudaDad414
Copy link
Member Author

still relevant.

Copy link
Contributor

github-actions bot commented Sep 5, 2024

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added the stale label Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/typescript Specify what technical area given issue relates to. Its goal is to ease filtering good first issues. enhancement New feature or request good first issue Good for newcomers stale
Projects
None yet
Development

No branches or pull requests

9 participants