-
-
Notifications
You must be signed in to change notification settings - Fork 74
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
feat: apache Pulsar bindings #173
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Welcome to AsyncAPI. Thanks a lot for creating your first pull request. Please check out our contributors guide useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.
Is it allowed to collaborate on a PR here, or should we do it on the Fork? Id really like some early comments, before we fully go for it, but if it is against the contributing guidelines, please close :) @austek for Collab. |
sure we can collaborate, I'm on AsyncApi Slack |
It's completely fine to collaborate here if you can give @austek permissions to edit this PR. |
Moved things away from the Server binding, as they werent attached to the Server.
One big question is, In order to Produce to a given topic, a uri that looks like this is needed. In the current iteration, ive attached Tenant to the Server binding, to try and reduce repitition, but what kind of flexibility are we looking for in the bindings? In the usecases im looking at, AsyncApi documents are per tenant. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a comment. I have no idea about Pulsar so we have to fully trust you on this folks 😄
Also, would you be up for becoming the code owner of this binding? You would be listed at https://github.com/asyncapi/bindings/blob/master/CODEOWNERS and would become a TSC member.
I would love to. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we planning to add Pulsar bindings for message
and operation
AsyncAPI components?
I think the followings are also important to define in the pulsar bindings:
AccessMode
https://pulsar.apache.org/docs/2.10.x/concepts-messaging#access-mode
Subscription Type
https://pulsar.apache.org/docs/2.10.x/concepts-messaging#subscription-types
Subscription Mode
https://pulsar.apache.org/docs/2.10.x/concepts-messaging#subscription-modes
Although we can add more Pulsar features in the next iterations of binding spec, it would be great if we can capture the major features in the first version. FYI, I notified the Pulsar community about this work in this email thread, https://lists.apache.org/thread/q8hlg27c1yh94w73j53dy2y54yyjdt62
You are very welcome to put suggestions, but maybe some of the subscription specific things, fit the operations binding. Access mode to my knowledge is the client, not the topic setup on the Pulsar end. correct me if I'm wrong, but it isn't set until there is a producer, and thus cannot be denoted the binding, as another producer claiming the access mode could change it any time. Unlike, compaction, retention, deduplication etc. Which are defined on the topic specifically. And its kind of the same story for the subscription specific things you mention. The asyncapi document cannot really define the actual subscriptions to topics as those in most cases are dynamically created. |
|
Co-authored-by: Lukasz Gornicki <lpgornicki@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's looking great mate 👏
Awesome! thanks so much. Then please update https://github.com/asyncapi/bindings/blob/master/CODEOWNERS in your PR 🙏🏼
How much do you plan to engage with AsyncAPI community. Are you looking for something more than just pulsar binding? I'm asking because the specification releases are always coordinated by a release coordinator. This is a volunteer role that anyone can pick up. I'm not gonna lie; it ain't easy and requires some work. You can read more here. But the big advantage is that you learn a lot about how AsyncAPI is organized and tooling ecosystem and get in touch with different maintainers around. And yeah, we are always here to support you of course. Give it a thought. |
I am building a dotnet library that reads/writes asyncapi documents based on the objectmodel, which will go opensource very soon (hopefully) as well, so I am hoping to engage more, but am not ready to take on more work unfortunately. I have added myself as a codeowner of the pulsar folder. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not familiar with Pulsar, so this isn't a super-informed review - but as a bindings doc it looks fine to me 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Schemas seems to match the descriptions 👍
Can someone rerun the sentiment analysis, looks like its failing due to a failure in the imported action |
@dalelane can you please re-approve if you agree with the changes? |
/rtm |
Congrats and thanks @VisualBean! I guess you now have to create a PR in the spec to add the |
Adds Server and channel bindings for Apache Pulsar
Related issue(s)
Resolves #164