Skip to content

feat(kafka): flexibilize kafka bindings for clientId/groupId#646

Open
ivangsa wants to merge 2 commits into
asyncapi:masterfrom
ivangsa:feature/kafka-bindings-clientId
Open

feat(kafka): flexibilize kafka bindings for clientId/groupId#646
ivangsa wants to merge 2 commits into
asyncapi:masterfrom
ivangsa:feature/kafka-bindings-clientId

Conversation

@ivangsa

@ivangsa ivangsa commented Jun 4, 2026

Copy link
Copy Markdown

NOTE: this PR is stacked on #645

Description

Implements [FEATURE] Kafka operations: allow groupId and clientId to be a string or array of strings
asyncapi/bindings#303

adding support for plain values in clientId and groupId

# what you have to write today
groupId:
  type: string
  enum: ['payments-consumer-group']
 
# what you actually mean
groupId: 'payments-consumer-group'

Related issue(s)
Fixes asyncapi/bindings#303

ivangsa added 2 commits June 4, 2026 16:02
Adds new 0.6.0 schema files for the Kafka binding. server.json is a version bump; channel.json, operation.json, and message.json include new fields per the following issues in asyncapi/bindings:

operation.json:

- transactional (boolean): marks producer as transactional (closes asyncapi/bindings#301)
- isolationLevel (string enum): consumer isolation level (closes asyncapi/bindings#301)
- errorTopics (object): retry and DLQ topic provisioning (closes asyncapi/bindings#299)
- principal (string): Kafka principal for ACL documentation (closes asyncapi/bindings#302)

channel.json:

- topicConfiguration.min.insync.replicas (integer): min in-sync replicas (closes asyncapi/bindings#292)
- envServerOverrides (object): per-server partial channel binding overrides (closes asyncapi/bindings#292)

message.json:

- compatibility (string enum): schema registry compatibility mode (closes asyncapi/bindings#304)

Wires 0.6.0 into the core binding dispatch logic:
- definitions/3.0.0 and definitions/3.1.0 for channel, operation, server,
  and message BindingsObject — latest ref updated to 0.6.0, new
  if/then block added for const: 0.6.0, enum extended to include 0.6.0

Registers all four 0.6.0 schema files in test/ajv-schemes.js and extends the Kafka binding test suites to cover the new fields and bindingVersion validation.
@ivangsa ivangsa changed the title Feature/kafka bindings client feat(kafka): flexibilize kafka bindings for clientId/groupId Jun 4, 2026
@ivangsa
ivangsa force-pushed the feature/kafka-bindings-clientId branch from a5ff8ce to 88f2201 Compare June 29, 2026 08:11
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Kafka operations: allow groupId and clientId to be a string or array of strings

1 participant