zilla
zilla copied to clipboard
Define the `mqtt-kafka` client identity from an MQTT topic defined in a AsyncAPI channel
Describe the desired outcome from the user's perspective
An AsyncAPI channel will have parameters defined in the spec, which will likely correlate with the mqtt-kafka
client identities that can be defined in the zilla.yaml. This configuration could be described in the mqtt-kafka
specific options of the anycapi
binding to map the existing channel and parameters.
Acceptance criteria
- An option for defining client identities inside of the
mqtt-kafka
options
Additional context
AsyncAPI channel definition example
channels:
itemUpdate:
address: "item/{itemId}/update"
title: MQTT Topic for item updates with unique IDs.
parameters:
itemId:
$ref: "#/components/parameters/itemId"
messages:
itemUpdate:
$ref: "#/components/messages/itemUpdate"
zilla.yaml asyncapi proxy binding example:
mqtt_kafka_proxy:
type: asyncapi
kind: proxy
options:
specs:
mqtt-spec: mqtt-asyncapi.yaml
kafka-spec: kafka-asyncapi.yaml
mqtt-kafka:
channels:
sessions: mqttSessions
retained: mqttRetained
messages: mqttMessages
clients:
- channel: itemUpdate
identity: itemId