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

feat: updated kafka topic configuration object #238

Merged
merged 4 commits into from
Feb 12, 2024

Conversation

gokerakc
Copy link
Contributor

Description

  • Updated additionalProperties flag as true
  • Added 4 new properties to the topic configuration object
  • Please see the related issue for more details.

Related issue(s)
#231

Copy link
Collaborator

@dalelane dalelane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would rather not bring vendor-specific extensions into the bindings like this.

Confluent are pretty good at keeping their platform-specific extensions, that aren't part of Kafka, separate - by prefixing the option names with confluent.

For example, they have confluent.key.schema.validation that you have described here as schema.key.validation.enabled.

I think that is a good pattern to adopt - while I absolutely see value in us including widely used vendor extensions in the bindings, I think they should be clearly identified as such. Not only that, if we match the names to what they are to use, we make the life of developers easier as they don't need to translate between naming formats.

I recommend copying the property names as-is. If you think the renaming is helpful (e.g. adding "enabled" to make it clearer it is a boolean) then I can live with that but I'd still prefer that we keep the "confluent." prefix.

@gokerakc
Copy link
Contributor Author

gokerakc commented Feb 5, 2024

Hi @dalelane,

I've updated the property names as you suggested. It makes sense to keep that widely used vendor-specific config name as it is since it'll help developers when it comes to mapping those values.

In general, I'm in favour of not leaking vendor-specific properties into the asyncapi bindings but I think it's acceptable to add some of the widely used ones and update additionalProperties as true for the less popular configs so toolings can consider parsing additional properties for the topicConfiguration object.

Copy link
Collaborator

@dalelane dalelane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, thanks for the updates

@gokerakc
Copy link
Contributor Author

gokerakc commented Feb 5, 2024

Thanks for approving the PR. Once this one is merged I'll open the json schema PR (asyncapi/spec-json-schemas#481) for review. @dalelane

@gokerakc
Copy link
Contributor Author

gokerakc commented Feb 6, 2024

Hi @derberg, I think this PR is ready for merge. Do you want to merge it or wait for more reviewers?

@gokerakc
Copy link
Contributor Author

Hey @lbroudoux, would you like to review/merge these changes?

@gokerakc
Copy link
Contributor Author

/rtm

@asyncapi-bot asyncapi-bot merged commit aa8cafd into asyncapi:master Feb 12, 2024
6 checks passed
@gokerakc gokerakc deleted the update_kafkaTopicConfiguration branch February 12, 2024 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants