-
-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add kafka 0.4 and mqtt5 changes (#310)
- Loading branch information
1 parent
eeb6d5d
commit bc4e458
Showing
7 changed files
with
278 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"$id": "http://asyncapi.com/bindings/kafka/0.4.0/channel.json", | ||
"title": "Channel Schema", | ||
"description": "This object contains information about the channel representation in Kafka.", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-[\\w\\d\\.\\-\\_]+$": { | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"topic": { | ||
"type": "string", | ||
"description": "Kafka topic name if different from channel name." | ||
}, | ||
"partitions": { | ||
"type": "integer", | ||
"minimum": 1, | ||
"description": "Number of partitions configured on this topic." | ||
}, | ||
"replicas": { | ||
"type": "integer", | ||
"minimum": 1, | ||
"description": "Number of replicas configured on this topic." | ||
}, | ||
"topicConfiguration" : { | ||
"description": "Topic configuration properties that are relevant for the API.", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"cleanup.policy": { | ||
"description": "The [`cleanup.policy`](https://kafka.apache.org/documentation/#topicconfigs_cleanup.policy) configuration option.", | ||
"type": "array", | ||
"items":{ | ||
"type": "string", | ||
"enum": ["compact", "delete"] | ||
} | ||
}, | ||
"retention.ms": { | ||
"description": "The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.", | ||
"type": "integer", | ||
"minimum": -1 | ||
}, | ||
"retention.bytes": { | ||
"description": "The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.", | ||
"type": "integer", | ||
"minimum": -1 | ||
}, | ||
"delete.retention.ms": { | ||
"description": "The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.", | ||
"type": "integer", | ||
"minimum": 0 | ||
}, | ||
"max.message.bytes": { | ||
"description": "The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.", | ||
"type": "integer", | ||
"minimum": 0 | ||
} | ||
} | ||
}, | ||
"bindingVersion": { | ||
"type": "string", | ||
"enum": [ | ||
"0.4.0" | ||
], | ||
"description": "The version of this binding. If omitted, 'latest' MUST be assumed." | ||
} | ||
|
||
}, | ||
"examples": [ | ||
{ | ||
"topic": "my-specific-topic", | ||
"partitions": 20, | ||
"replicas": 3, | ||
"bindingVersion": "0.4.0" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"$id": "http://asyncapi.com/bindings/kafka/0.4.0/message.json", | ||
"title": "Message Schema", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-[\\w\\d\\.\\-\\_]+$": { | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"key": { | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/schema.json", | ||
"description": "The message key." | ||
}, | ||
"schemaIdLocation": { | ||
"type": "string", | ||
"description": "If a Schema Registry is used when performing this operation, tells where the id of schema is stored.", | ||
"enum": ["header", "payload"] | ||
}, | ||
"schemaIdPayloadEncoding": { | ||
"type": "string", | ||
"description": "Number of bytes or vendor specific values when schema id is encoded in payload." | ||
}, | ||
"schemaLookupStrategy": { | ||
"type": "string", | ||
"description": "Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied." | ||
}, | ||
"bindingVersion": { | ||
"type": "string", | ||
"enum": [ | ||
"0.4.0" | ||
], | ||
"description": "The version of this binding. If omitted, 'latest' MUST be assumed." | ||
} | ||
|
||
}, | ||
"examples": [ | ||
{ | ||
"key": { | ||
"type": "string", | ||
"enum": [ | ||
"myKey" | ||
] | ||
}, | ||
"schemaIdLocation": "payload", | ||
"schemaIdPayloadEncoding": "apicurio-new", | ||
"schemaLookupStrategy": "TopicIdStrategy", | ||
"bindingVersion": "0.4.0" | ||
}, | ||
{ | ||
"key": { | ||
"$ref": "path/to/user-create.avsc#/UserCreate" | ||
}, | ||
"schemaIdLocation": "payload", | ||
"schemaIdPayloadEncoding": "4", | ||
"bindingVersion": "0.4.0" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"$id": "http://asyncapi.com/bindings/kafka/0.4.0/operation.json", | ||
"title": "Operation Schema", | ||
"description": "This object contains information about the operation representation in Kafka.", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-[\\w\\d\\.\\-\\_]+$": { | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"groupId": { | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/schema.json", | ||
"description": "Id of the consumer group." | ||
}, | ||
"clientId": { | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/schema.json", | ||
"description": "Id of the consumer inside a consumer group." | ||
}, | ||
"bindingVersion": { | ||
"type": "string", | ||
"enum": [ | ||
"0.4.0" | ||
], | ||
"description": "The version of this binding. If omitted, 'latest' MUST be assumed." | ||
} | ||
}, | ||
"examples": [ | ||
{ | ||
"groupId": { | ||
"type": "string", | ||
"enum": [ | ||
"myGroupId" | ||
] | ||
}, | ||
"clientId": { | ||
"type": "string", | ||
"enum": [ | ||
"myClientId" | ||
] | ||
}, | ||
"bindingVersion": "0.4.0" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"$id": "http://asyncapi.com/bindings/kafka/0.4.0/server.json", | ||
"title": "Server Schema", | ||
"description": "This object contains server connection information to a Kafka broker. This object contains additional information not possible to represent within the core AsyncAPI specification.", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-[\\w\\d\\.\\-\\_]+$": { | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"schemaRegistryUrl": { | ||
"type": "string", | ||
"description": "API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)." | ||
}, | ||
"schemaRegistryVendor": { | ||
"type": "string", | ||
"description": "The vendor of the Schema Registry and Kafka serdes library that should be used." | ||
}, | ||
"bindingVersion": { | ||
"type": "string", | ||
"enum": [ | ||
"0.4.0" | ||
], | ||
"description": "The version of this binding." | ||
} | ||
}, | ||
"examples": [ | ||
{ | ||
"schemaRegistryUrl": "https://my-schema-registry.com", | ||
"schemaRegistryVendor": "confluent", | ||
"bindingVersion": "0.4.0" | ||
} | ||
] | ||
} |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"$id": "http://asyncapi.com/bindings/mqtt5/0.1.0/server.json", | ||
"title": "Server Schema", | ||
"description": "This object contains information about the server representation in MQTT5.", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-[\\w\\d\\.\\-\\_]+$": { | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
|
||
"sessionExpiryInterval": { | ||
"oneOf": [ | ||
{ | ||
"type": "integer", | ||
"minimum": 0 | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/schema.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/3.0.0/Reference.json" | ||
} | ||
], | ||
"description": "Session Expiry Interval in seconds or a Schema Object containing the definition of the interval." | ||
}, | ||
"bindingVersion": { | ||
"type": "string", | ||
"enum": [ | ||
"0.2.0" | ||
], | ||
"description": "The version of this binding. If omitted, 'latest' MUST be assumed." | ||
} | ||
}, | ||
"examples": [ | ||
{ | ||
"sessionExpiryInterval": 60, | ||
"bindingVersion": "0.2.0" | ||
}, | ||
{ | ||
"sessionExpiryInterval": { | ||
"type": "integer", | ||
"minimum": 100 | ||
}, | ||
"bindingVersion": "0.2.0" | ||
} | ||
] | ||
} | ||
|
||
|