Kafka destinations

A Kafka destination delivers committed Causet events to a topic on a cluster you control (Confluent Cloud, Amazon MSK, Redpanda, self-hosted). Causet never runs your brokers — it only produces to them after ledger commit.


Create a destination

In Settings → Destinations → New → Kafka, provide:

FieldRequiredNotes
NameYesDisplay name in the UI
Bootstrap serversYesComma-separated host:port
TopicYesTarget topic name
Security protocolYesPLAINTEXT, SASL_SSL, SSL, …
SASL mechanismIf SASLPLAIN, SCRAM-SHA-256, SCRAM-SHA-512
Username / passwordIf SASLPassword stored encrypted; never returned in API responses
AcksNoDefault all
CompressionNoe.g. lz4
Client IDNoOptional producer identity

Then attach one or more subscriptions so the engine knows which event types to export.


What gets produced

Each matched committed event becomes one Kafka record with the customer export envelope (specVersion 1.0):

Kafka fieldSource
KeyPartition-key strategy (default stream_id, fallback event_id)
ValueJSON body: id, type, source, subject, time, data, causet, …
Headerscontent-type, causet-spec-version, causet-event-id, causet-event-type, causet-delivery-id, causet-destination-id, causet-subscription-id, causet-replay, plus optional sequence / correlation / traceparent
⚠️

Consumers must dedupe on causet-event-id (header) or body id. Delivery is at-least-once. Full field list: Event envelope.


Local development

Point a destination at a local broker (for example Redpanda or Kafka on localhost:9092) with PLAINTEXT, create a subscription on *, and submit intents. Confirm with:

# example — adjust for your tooling
kcat -C -b localhost:9092 -t your.topic -J

Or inspect the Delivery Log in Settings → Destinations for status, attempts, and last error.


Operations

ActionEffect
Test connectionProduces a probe message; does not require a matching subscription
Pause / resumeStops or resumes job dispatch for that destination
Rotate credentialsUpdates the encrypted secret without changing the destination id
Delivery LogPer-event delivery history (success, retry, dead-letter)