Skip to content

Kafka

Publishes each event as a json-encoded message to an Apache Kafka topic. A solid choice when you’re already running Kafka and want chain data flowing into your existing stream-processing setup. For a full walkthrough, see the Cardano → Kafka guide.

Requires a custom build

Kafka isn’t in the default binary (its TLS backend pulls in OpenSSL). Build Oura with the kafka feature — see Install from source.

Configuration

daemon.toml
[sink]
type = "Kafka"
brokers = ["kafka-broker-0:9092"]
topic = "cardano-events"
ack_timeout_secs = 5
paritioning = "Random"
  • type (required): the literal value Kafka.
  • brokers (required): the Kafka brokers to connect to. Add several hostname:port pairs for a cluster.
  • topic (required): the Kafka topic to publish messages to.
  • ack_timeout_secs (optional): how long, in seconds, to wait for the broker to acknowledge a message.
  • paritioning (optional, default = Random): how messages are assigned to partitions — ByBlock (messages from the same block share a partition key) or Random.

The config key really is spelled paritioning, to match the field name in the codebase.