Reference: the duraton: block
Every key in the duraton block of the connector configuration, with its type, default and bounds - subscription, decoding, the envelope, the poison policy, retry windows, and the event mapping.
Duraton's own half of the connector configuration: everything about
what a record becomes. The other half keeps Apache Kafka's property names and is in the
kafka: reference.
Every bound below is enforced at startup. validate prints the resolved
value of each one.
| Key | Type | Default | Notes |
|---|---|---|---|
url | string | DURATON_URL | Required. An http or https address. |
key | secret | - | Never written here. DURATON_API_KEY or keyFile. |
keyFile | file path | - | A file holding the API key. |
app | string | DURATON_APP | Required. At most 256 characters. |
topics | list of strings | - | Exact names. Excludes topicPattern and assign. |
topicPattern | regular expression | - | Held to the whole topic name. |
excludeTopics | list of strings | - | Requires topicPattern. |
assign | map of topic to partition and offset | - | Excludes topics and kafka.group.id. Partition and offset are both non-negative. |
decoder | enum | json | json, raw, text, avro-confluent, json-schema-confluent. |
envelope | enum | wrapped | wrapped, value-only. |
filter | CEL expression | - | Empty means no filtering. |
onNullValue | enum | skip | skip, deliver, poison. |
onPoison | enum | commit-and-log | commit-and-log, halt, commit-and-produce. |
poisonTopic | string | - | Required by onPoison: commit-and-produce, and refused under any other policy. Cannot be a topic this connector consumes. |
commit.interval | duration | 1s | Longest an accepted record waits before its offset is committed. There is no batch-size key: the batch is kafka.max.poll.records. |
retry.min | duration | 250ms | Floor of the wait between attempts at a record the destination has not accepted. Longer than zero. |
retry.max | duration | 30s | Ceiling of that wait. Longer than zero, and not shorter than retry.min. |
mapping.eventName | literal or path | the topic name | The event name. |
mapping.app | literal or path | duraton.app | |
mapping.targetApp | literal or path | - | Route to one app's triggers. |
mapping.runner | literal or path | - | Pin runs to one runner. |
mapping.session | literal or path | - | Thread runs into one conversation. |
mapping.tags | map of tag name to path | none | At most 20. Names are at most 64 characters of letters, digits, _, . and -. |
mapping.dedupeId | template | {topic}:{partition}:{offset} | Placeholders are topic, partition, offset, key, or a dotted path. At most 256 characters. |
schemaRegistry.url | string | - | An http or https address. Required by avro-confluent, and by protobuf-confluent, which is not built yet. json-schema-confluent does not need it. |
schemaRegistry.auth | secret | - | Never written here. KAFKA_SCHEMA_REGISTRY_AUTH or authFile. The API key and secret joined by a colon, as basic.auth.user.info takes them; sent as HTTP basic auth. |
schemaRegistry.authFile | file path | - | |
schemaRegistry.ttl | duration | 5m | How long a resolved schema is held before it is fetched again. Longer than zero. |
sasl.tokenProvider | enum | oidc when a token endpoint URL is set | oidc, static. |
sasl.tokenFile | file path | - | A file holding an OAUTHBEARER token. |
Every mapped string field is bounded at 256 characters, matching what the event endpoint accepts.
Next
kafka:reference - the other half of the file.- Configuration - what these keys mean in prose.
- Delivery -
onPoison,retry.minandretry.maxin context.
Behaviour worth knowing
Nine things about the Kafka connector that are easy to be surprised by in production - a required offset reset, whole-name pattern matching, tombstones, the fixed dedupe window, and why a blocked rebalance loses nothing.
Reference: the kafka: block
Every forwarded Apache Kafka property the connector accepts, with types, defaults and bounds - plus the three lists of properties it refuses, and the capabilities no Kafka client can configure from a file.