Kafka Destination
The Kafka destination publishes processed messages to Apache Kafka topics. It supports SASL authentication, TLS encryption, key-based partitioning, and multiple compression codecs.
Configuration
Section titled “Configuration”Add a Kafka destination to a channel in intu.yaml:
destinations: - name: patient-events type: kafka properties: brokers: - "kafka-1.example.com:9092" topic: "patient.events" client_id: "intu-producer"Properties
Section titled “Properties”| Property | Type | Default | Description |
|---|---|---|---|
brokers | list | (required) | One or more Kafka broker addresses (host:port). |
topic | string | (required) | Target topic name. |
client_id | string | intu-producer | Client identifier reported to the Kafka cluster. |
key | string | — | Partition key. Supports field references like ${body.patientId} to co-locate related messages on the same partition. |
compression | string | none | Compression codec: none, gzip, snappy, lz4, or zstd. |
Authentication
Section titled “Authentication”Configure SASL authentication under the auth block.
SASL/PLAIN
Section titled “SASL/PLAIN”auth: type: sasl_plain username: "${KAFKA_USER}" password: "${KAFKA_PASS}"SASL/SCRAM-SHA-256
Section titled “SASL/SCRAM-SHA-256”auth: type: sasl_scram_256 username: "${KAFKA_USER}" password: "${KAFKA_PASS}"SASL/SCRAM-SHA-512
Section titled “SASL/SCRAM-SHA-512”auth: type: sasl_scram_512 username: "${KAFKA_USER}" password: "${KAFKA_PASS}"Enable TLS for broker connections:
tls: enabled: true ca_cert: "/etc/intu/certs/kafka-ca.pem" client_cert: "/etc/intu/certs/kafka-client.pem" client_key: "/etc/intu/certs/kafka-client-key.pem"Complete Example
Section titled “Complete Example”A Kafka destination with three brokers, SASL/SCRAM-SHA-512 authentication, TLS, and key-based partitioning:
destinations: - name: adt-events type: kafka properties: brokers: - "kafka-1.hospital.org:9093" - "kafka-2.hospital.org:9093" - "kafka-3.hospital.org:9093" topic: "hl7.adt.events" client_id: "intu-adt-producer" key: "${body.patientId}" compression: zstd auth: type: sasl_scram_512 username: "${KAFKA_USER}" password: "${KAFKA_PASS}" tls: enabled: true ca_cert: "/etc/intu/certs/kafka-ca.pem"