Skip to content

Instantly share code, notes, and snippets.

@GeoffWilliams
Created September 23, 2026 16:17
Show Gist options
  • Select an option

  • Save GeoffWilliams/e64fc013043e30df333a0089edfb782d to your computer and use it in GitHub Desktop.

Select an option

Save GeoffWilliams/e64fc013043e30df333a0089edfb782d to your computer and use it in GitHub Desktop.
Example configuration file for connecting Zilla Kafka Gateway to Confluent Cloud
---
name: zilla-mqtt-confluent
guards:
guard0:
type: inline
options:
identity: ${{env.KAFKA_API_KEY}}
credentials: ${{env.KAFKA_API_SECRET}}
stores:
memory0:
type: memory
bindings:
# ============================================================
# NORTH SIDE - MQTT clients
# ============================================================
north_tcp_server:
type: tcp
kind: server
options:
host: 0.0.0.0
port:
- 7183
routes:
- when:
- port: 7183
exit: north_mqtt_server
north_mqtt_server:
type: mqtt
kind: server
options:
store: memory0
exit: north_mqtt_kafka_mapping
north_mqtt_kafka_mapping:
type: mqtt-kafka
kind: proxy
options:
topics:
sessions: mqtt-sessions
messages: mqtt-messages
retained: mqtt-retained
clients:
- place/{identity}/#
routes:
- when:
- publish:
- topic: place/+/device/#
- topic: device/#
- subscribe:
- topic: place/+/device/#
- topic: device/#
with:
messages: mqtt-devices
exit: north_kafka_cache_client
exit: north_kafka_cache_client
# ============================================================
# KAFKA CACHE LAYER
# ============================================================
north_kafka_cache_client:
type: kafka
kind: cache_client
exit: south_kafka_cache_server
south_kafka_cache_server:
type: kafka
kind: cache_server
options:
bootstrap:
- mqtt-messages
- mqtt-retained
- mqtt-devices
exit: south_kafka_client
# ============================================================
# SOUTH SIDE - CONFLUENT CLOUD
# ============================================================
south_kafka_client:
type: kafka
kind: client
options:
servers:
- ${{env.KAFKA_BOOTSTRAP_SERVER}}
authorization:
guard0:
credentials:
mechanism: plain
username: "{identity}"
password: "{credentials}"
exit: south_tls_client
south_tls_client:
type: tls
kind: client
exit: south_tcp_client
south_tcp_client:
type: tcp
kind: client
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment