# Configuration Reference

## Pipeline

<table data-full-width="true"><thead><tr><th width="429">Field</th><th width="581">Behavior/Description</th><th width="120" data-type="checkbox">Required</th><th>Default</th><th>Type</th></tr></thead><tbody><tr><td>name</td><td>name of the pipeline</td><td>true</td><td></td><td><code>string</code></td></tr></tbody></table>

## License

<table data-full-width="true"><thead><tr><th width="430">Field</th><th width="584">Behavior/Description</th><th width="108" data-type="checkbox">Required</th><th>Default</th><th>Type</th></tr></thead><tbody><tr><td><code>license.acceptEula</code></td><td>It needs to be set to true to run the K2K application</td><td>true</td><td></td><td><code>boolean</code></td></tr><tr><td><code>license.token</code></td><td>A license key to enable premium features like exactly-once semantics <code>k2k@lenses.io</code></td><td>false</td><td></td><td><code>string</code></td></tr></tbody></table>

## Feature Toggles

<table data-full-width="true"><thead><tr><th width="394.66650390625">Field</th><th>Behavior/Description</th><th width="113" data-type="checkbox">Required</th><th width="164">Default</th><th width="232.33349609375">Type</th></tr></thead><tbody><tr><td><code>features.exactlyOnce</code></td><td>Enables exactly-once processing.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.keepRecordCreationTimestamp</code></td><td>Keeps the original message timestamp. If disabled, a new timestamp is set based on the target topic <code>og.message.timestamp.type</code> setting</td><td>false</td><td><code>enabled</code> </td><td><code>enabled</code> , <code>disabled</code></td></tr><tr><td><code>features.checkKafkaConnectionOnStartup</code></td><td>At startup, if Kafka is not reachable, a set of checks is performed to understand the problem</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code> , <code>disabled</code></td></tr><tr><td><code>features.headerReplication</code></td><td>Enables/disables header replication.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code> , <code>disabled</code></td></tr><tr><td><code>features.schemaMapping</code></td><td>Enables/disables schema replication.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code> , <code>disabled</code></td></tr><tr><td><code>features.optimizeOffsetCommitPartition</code></td><td>Optimizes offset commit messages by publishing all control messages to the same partition.</td><td>false</td><td><code>enabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.autoCreateControlTopics</code></td><td>Enables creation of the necessary control topics used by the k2k application.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.autoCreateTopics</code></td><td>Enables automatic creation of replicated topics.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.validateControlTopicSettings</code></td><td>Enables validation of configurations for control topics used by the k2k application.</td><td>false</td><td><code>enabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.tracingHeaders</code></td><td>Appends tracing headers to each replicated record. An object can be specified to configure which headers to provide.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code>, <code>object</code></td></tr><tr><td><code>features.tracingHeaders.partition</code></td><td>Appends the partition tracing header to each replicated record.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.tracingHeaders.offset</code></td><td>Appends the partition tracing header to each replicated record.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.tracingHeaders.topic</code></td><td>Appends the topic tracing header to each replicated record.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.tracingHeaders.pipeline</code></td><td>Appends the pipeline name tracing header to each replicated record.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.tracingHeaders.partition</code></td><td>Appends the partition tracing header to each replicated record.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.filterNonUpdatableTopicProperties</code></td><td>Toggles the filtering of properties that cannot be set, or are invalid in the target cluster when creating non-control topics.</td><td>false</td><td><code>enabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.offsetMapping</code></td><td>Toggles the publishing of offset mapping records.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr><tr><td><code>features.bidirectionalReplication</code></td><td>Global feature flag to enable bidirectional replication.</td><td>false</td><td><code>disabled</code></td><td><code>enabled</code>, <code>disabled</code></td></tr></tbody></table>

## Tracing Headers

<table data-full-width="true"><thead><tr><th width="263">Field</th><th width="763">Behavior/Description</th><th width="120" data-type="checkbox">Required</th><th width="191">Default</th><th>Type</th></tr></thead><tbody><tr><td><code>tracing.headers.partition</code></td><td>Name given to the header containing the source partition information.</td><td>false</td><td><code>__k2k_partition</code></td><td><code>string</code></td></tr><tr><td><code>tracing.headers.offset</code></td><td>Name given to the header containing the source offset information.</td><td>false</td><td><code>__k2k_offset</code></td><td><code>string</code></td></tr><tr><td><code>tracing.headers.topic</code></td><td>Name given to the header containing the source topic information.</td><td>false</td><td><code>__k2k_topic</code></td><td><code>string</code></td></tr><tr><td><code>tracing.headers.pipeline</code></td><td>Name given to the header containing the source pipeline information.</td><td>false</td><td><code>__k2k_pipeline</code></td><td><code>string</code></td></tr></tbody></table>

## Error Handling

<table data-full-width="true"><thead><tr><th width="469.3333740234375">Field</th><th width="562">Behavior/Description</th><th width="106.833251953125" data-type="checkbox">Required</th><th>Default</th><th>Type</th></tr></thead><tbody><tr><td><code>errorHandling.onCommitSyncTimeout</code></td><td>Handles the timeout when determining the latest committed offset.</td><td>false</td><td><code>fail</code></td><td><code>fail</code>, <code>ignore</code></td></tr><tr><td><code>errorHandling.onControlMessageDeserializationError</code></td><td>Handles deserialization errors for control messages.</td><td>false</td><td><code>fail</code></td><td><code>fail</code>, <code>ignore</code></td></tr></tbody></table>

## Commit and Assignment

<table data-full-width="true"><thead><tr><th width="420.5">Field</th><th width="606.8333740234375">Behavior/Description</th><th width="113" data-type="checkbox">Required</th><th>Default</th><th width="169">Type</th><th>Comment</th></tr></thead><tbody><tr><td><code>coordination.assignment.topic</code></td><td>Topic used for assignment coordination.</td><td>false</td><td><code>__k2k-assignment</code></td><td><code>string</code></td><td>only used if <code>exactly-once</code> is enabled</td></tr><tr><td><code>coordination.assignment.graceWindow</code></td><td>Time to wait before the application actively fences off other applications.</td><td>false</td><td><code>15 seconds</code></td><td><code>duration string</code></td><td></td></tr><tr><td><code>coordination.assignment.fencingMaxParallelism</code></td><td>Controls the max parallelism when fencing slow/zombie producers.</td><td>false</td><td><code>10</code></td><td><code>integer</code></td><td></td></tr><tr><td><code>coordination.commit.topic</code></td><td>Topic for offset commits.</td><td>false</td><td><code>__k2k_consumer-offsets</code></td><td><code>string</code></td><td></td></tr><tr><td><code>coordination.commit.syncTimeout</code></td><td>Time limit to wait for catchup when reading from the offset control topic.</td><td>false</td><td><code>10 seconds</code></td><td><code>duration string</code></td><td></td></tr><tr><td><code>coordination.commit.batchSize</code></td><td>Number of records after which an offset is committed (when <code>exactly-once</code> is disabled). Batch size when <code>exactly-once</code> is enabled.</td><td>false</td><td><code>100</code></td><td><code>integer</code></td><td></td></tr><tr><td><code>coordination.commit.batchTimeout</code></td><td>Time to wait before injecting a commit record (when <code>exactly-once</code> is disabled). Time to wait before committing if the batch size is not reached (when <code>exactly-once</code> is enabled).</td><td>false</td><td><code>5 seconds</code></td><td><code>duration string</code></td><td></td></tr></tbody></table>

## Bidirectional Replication Options

{% hint style="info" %}
Fields in this section are only relevant if the bidirectional feature flag is enabled.
{% endhint %}

<table data-full-width="true"><thead><tr><th width="358.6666259765625">Field</th><th width="673">Behavior/Description</th><th width="124" data-type="checkbox">Required</th><th>Default</th><th>Type</th></tr></thead><tbody><tr><td><code>bidirectional.mode</code></td><td>Determines the identifier used in the bidirectional header. Can be either the pipeline name or the source cluster identifier.</td><td>false</td><td><code>cluster</code></td><td><code>cluster</code> , <code>pipeline</code></td></tr><tr><td><code>bidirectional.headers.bidirectional</code></td><td>Name of the header used to mark bidirectional records. Checked when filtering out records that have already been replicated.</td><td>false</td><td><code>__k2k_bidirectional</code></td><td><code>string</code></td></tr></tbody></table>

## Source Cluster Kafka and Schema Registry Connection

{% hint style="info" %}
Only the connection details are required in this section (bootstrap servers and credentials). Those can be provided in the `common` section and will be inherited by the other Kafka client configurations targeting this cluster.
{% endhint %}

{% hint style="info" %}
Fields targeting the Schema Registry are only relevant when the schema registry mapping feature is enabled.
{% endhint %}

<table data-full-width="true"><thead><tr><th width="413">Field</th><th width="666">Behavior/Description</th><th width="111" data-type="checkbox">Required</th><th width="92">Default</th><th>Type</th></tr></thead><tbody><tr><td><code>source.kafka.common</code></td><td>Common properties inherited by <code>consumer</code> and <code>admin</code> clients</td><td>true</td><td></td><td><code>object</code></td></tr><tr><td><code>source.kafka.consumer</code></td><td>Kafka consumer configuration. Used when reading data from the source cluster.</td><td>false</td><td></td><td><code>object</code></td></tr><tr><td><code>source.kafka.consumer."group.id"</code></td><td>Consumer group name. Used exclusively for partition assignment.</td><td>true</td><td></td><td><code>string</code></td></tr><tr><td><code>source.kafka.admin</code></td><td>Common properties inherited by <code>consumer</code> and <code>admin</code> and <code>producer</code> clients.</td><td>false</td><td></td><td><code>object</code></td></tr><tr><td><code>source.registry.config</code></td><td>Schema Registry connection options. (Full list of options in the corresponding section below).</td><td>false</td><td></td><td><code>object</code></td></tr><tr><td><code>source.registry.config."schema.registry.url"</code></td><td>Schema Registry URL.</td><td>false</td><td></td><td><code>string</code></td></tr><tr><td><code>source.registry.cacheSize</code></td><td>Schema Registry client internal client options. In most scenarios larger cache sizes won't result in improved performance.</td><td>false</td><td><code>"31"</code></td><td><code>numeric string</code></td></tr><tr><td><code>source.registry.headers</code></td><td>Headers specified here will be added to all schema registry HTTP requests.</td><td>false</td><td></td><td><code>object</code></td></tr></tbody></table>

## Target Cluster Kafka and Schema Registry Connection

{% hint style="info" %}
Fields targeting the Schema Registry are only relevant when the schema registry mapping feature is enabled.
{% endhint %}

<table data-full-width="true"><thead><tr><th width="413.833251953125">Field</th><th width="733.5">Behavior/Description</th><th width="112" data-type="checkbox">Required</th><th width="109">Default</th><th>Type</th></tr></thead><tbody><tr><td><code>target.registry.common</code></td><td>Common properties inherited by <code>consumer</code> and <code>admin</code> and <code>producer</code> clients.</td><td>false</td><td></td><td><code>object</code></td></tr><tr><td><code>target.kafka.producer</code></td><td>Kafka producer configuration used to produce data to the target cluster.</td><td>false</td><td></td><td><code>object</code></td></tr><tr><td><code>target.kafka.admin</code></td><td>Kafka admin client configuration used to introspect the Kafka target cluster.</td><td>false</td><td></td><td><code>object</code></td></tr><tr><td><code>target.kafka.topicPropsExclusionList</code></td><td><p>Allows the exclusion of specified topic configurations when the replicator creates topics on the target cluster.</p><p>The primary use case addresses compatibility issues with Kafka implementations that don't expose certain configurations as read-only in their metadata but reject them when included in topic creation requests.</p></td><td>false</td><td></td><td><code>list of string</code></td></tr><tr><td><code>target.registry.config."schema.registry.url"</code></td><td>Schema Registry URL.</td><td>false</td><td></td><td></td></tr><tr><td><code>target.registry.config</code></td><td>Schema Registry connection options. (Full list of options in the corresponding section below).</td><td>false</td><td></td><td></td></tr><tr><td><code>target.registry.cacheSize</code></td><td>Schema Registry client internal client options. In most scenarios larger cache sizes won't result in improved performance.</td><td>false</td><td><code>"31"</code></td><td><code>numeric string</code></td></tr><tr><td><code>target.registry.headers</code></td><td>Headers specified here will be added to all schema registry HTTP requests.</td><td>false</td><td></td><td></td></tr></tbody></table>

## Replication Pipeline

{% hint style="info" %}
Refer to [Source topics](/latest/k2k/configuration/source-topics.md) to get the full list of options that can be provided under  `replication[0].source.topic`

For `replication[1].sink.topic` and `replication[1].sink.partition` refer to [Records routing](/latest/k2k/configuration/records-routing.md)
{% endhint %}

<table data-full-width="true"><thead><tr><th width="358.6666259765625">Field</th><th width="509">Behavior/Description</th><th width="145" data-type="checkbox">Required</th><th>Default</th><th>Type</th></tr></thead><tbody><tr><td><code>replication[0].source.topic</code></td><td>Defines the topic(s) K2K will read data from.</td><td>true</td><td><code>string</code>, <code>object</code>,<code>list</code></td><td><code>cluster</code> , <code>pipeline</code>`</td></tr><tr><td><code>replication[1].sink.topic</code></td><td>Strategy used to assign the target cluster's topic.</td><td>true</td><td><code>object</code>, <code>string</code></td><td><code>string</code></td></tr><tr><td><code>replication[1].sink.partition</code></td><td>Strategy used to assign the target cluster's partition for a record.</td><td>true</td><td></td><td><code>string</code></td></tr></tbody></table>

## Schema Mapping Configuration

{% hint style="info" %}
Fields targeting the Schema Registry are only relevant when the schema registry mapping feature is enabled.
{% endhint %}

<table data-full-width="true"><thead><tr><th width="358.6666259765625">Field</th><th>Behavior/Description</th><th data-type="checkbox">Required</th><th>Default</th><th>Type</th></tr></thead><tbody><tr><td><code>schemaMapping.topics[].pattern</code></td><td>A regex that defines the topics schema mapping applies to.</td><td>false</td><td><code>regex</code></td><td><code>cluster</code> , <code>pipeline</code>`</td></tr><tr><td><code>schemaMapping.topics[].key</code></td><td>Toggles schema replication for the topic's key facet.</td><td>false</td><td><code>enabled, disabled</code></td><td><code>enabled</code></td></tr><tr><td><code>schemaMapping.topics[].value</code></td><td>Toggles schema replication for the topic's value facet.</td><td>false</td><td><code>enabled, disabled</code></td><td><code>enabled</code></td></tr></tbody></table>

## Metrics

<table data-full-width="true"><thead><tr><th width="358.6666259765625">Field</th><th>Behavior/Description</th><th data-type="checkbox">Required</th><th>Default</th><th>Type</th></tr></thead><tbody><tr><td><code>metrics.prefix.targetConsumer</code></td><td>A regex that defines the topics schema mapping applies to.</td><td>false</td><td><code>k2k.consumer.control.</code></td><td><code>cluster</code> , <code>pipeline</code>`</td></tr><tr><td><code>metrics.prefix.targetProducer</code></td><td>Prefix added to the target cluster producer metrics. </td><td>false</td><td><code>k2k.producer.</code></td><td><code>enabled</code></td></tr><tr><td><code>metrics.prefix.sourceConsumer</code></td><td>Prefix added to the source cluster consumer metrics. </td><td>false</td><td><code>k2k.consumer.source.</code></td><td><code>enabled</code></td></tr><tr><td><code>metrics.prefix.assignment</code></td><td>Prefix added to the K2K App assignment metrics. </td><td>false</td><td><code>k2k.</code></td><td><code>string</code></td></tr><tr><td><code>metrics.kafka.topic</code></td><td>Prefix added to the K2K App topic metrics.</td><td>false</td><td><code>__k2k_metrics</code></td><td><code>string</code></td></tr></tbody></table>

## Control Topic Auto Creation

{% hint style="info" %}
Only relevant if `features.autoCreateControlTopics`  is enabled.
{% endhint %}

<table data-full-width="true"><thead><tr><th width="436.5728759765625">Field</th><th width="493.8424072265625">Behavior / Description</th><th width="110.58349609375" data-type="checkbox">Required</th><th width="202.5">Default</th><th>Type</th></tr></thead><tbody><tr><td><code>topicCreation.control.common.partitions</code></td><td>Default partition count to be used when auto-creating any of the replicated topics.</td><td>false</td><td></td><td><code>integer</code></td></tr><tr><td><code>topicCreation.control.common.replication</code></td><td>Default replication to be used when auto-creating any of the replicated control topics.</td><td>false</td><td></td><td><code>short</code></td></tr><tr><td><code>topicCreation.control.common.config</code></td><td>Default topic configuration to be used when auto-creating any of the replicated control topics.</td><td>false</td><td>empty object</td><td><code>object</code></td></tr><tr><td><code>topicCreation.control.assignment.partitions</code></td><td>Regex used to select the topics the properties should be applied to. The first match in the containing array wins.</td><td>false</td><td></td><td>regex expression</td></tr><tr><td><code>topicCreation.control.assignemnt.replication</code></td><td>Partition count to be used when auto-creating replicated topics with a name that matches the specified pattern.</td><td>false</td><td></td><td><code>integer</code></td></tr><tr><td><code>topicCreation.control.assignemnt.config</code></td><td>Replication to be used when auto-creating replicated topics with a name that matches the specified pattern.</td><td>false</td><td>object with <br><code>"cleanup.policy": "compact"</code></td><td><code>short</code></td></tr><tr><td><code>topicCreation.control.commit.partitions</code></td><td>Topic configuration to be used when auto-creating replicated topics with a name that matches the specified pattern</td><td>false</td><td></td><td><code>integer</code></td></tr><tr><td><code>topicCreation.control.commit.replication</code></td><td>Default replication to be used when creating the topic used for offset commit control.</td><td>false</td><td></td><td><code>integer</code></td></tr><tr><td><code>topicCreation.control.commit.config</code></td><td>Default topic configuration to be used when creating the topic used for offset commit control.</td><td>false</td><td>object with <br><code>"cleanup.policy": "compact"</code></td><td><code>object</code></td></tr><tr><td><code>topicCreation.control.metrics.partitions</code></td><td>Default partition count to be used when creating the topic used for metrics.</td><td>false</td><td></td><td><code>integer</code></td></tr><tr><td><code>topicCreation.control.metrics.replication</code></td><td>Default replication to be used when creating the topic used for metrics.</td><td>false</td><td></td><td><code>integer</code></td></tr><tr><td><code>topicCreation.control.metrics.config</code></td><td>Default topic configuration to be used when creating the topic used for metrics.</td><td>false</td><td></td><td><code>object</code></td></tr><tr><td><code>topicCreation.control.offsetMapping.partitions</code></td><td>Default partition count to be used when auto-creating the offset-mappings topic.</td><td>false</td><td></td><td><code>integer</code></td></tr><tr><td><code>topicCreation.control.offsetMapping.replication</code></td><td>Default replication to be used when auto-creating the offset-mappings topic.</td><td>false</td><td></td><td><code>integer</code></td></tr><tr><td><code>topicCreation.control.offsetMapping.config</code></td><td>Default config to be used when auto-creating the offset-mappings topic.</td><td>false</td><td>object with <br><code>"cleanup.policy": "delete"</code></td><td><code>object</code></td></tr></tbody></table>

## Replicated Topics Auto Creation&#x20;

{% hint style="info" %}
Only relevant if `features.autoCreateTopics`  is enabled.
{% endhint %}

<table data-full-width="true"><thead><tr><th width="526.5">Field</th><th width="574.8333740234375">Behavior / Description</th><th width="107.16650390625" data-type="checkbox">Required</th><th width="102.16650390625">Default</th><th align="right">Type</th></tr></thead><tbody><tr><td><code>topicCreation.control.metrics.config</code></td><td>Default topic configuration to be used when creating the topic used for metrics.</td><td>false</td><td>empty</td><td align="right"><code>object</code></td></tr><tr><td><code>topicCreation.replication.common.partitions</code></td><td>Default partition count to be used when auto-creating any of the replicated topics.</td><td>false</td><td>empty</td><td align="right"><code>integer</code></td></tr><tr><td><code>topicCreation.replication.common.replication</code></td><td>Default replication to be used when auto-creating any of the replicated control topics.</td><td>false</td><td>empty</td><td align="right"><code>short</code></td></tr><tr><td><code>topicCreation.replication.common.config</code></td><td>Default topic configuration to be used when auto-creating any of the replicated control topics.</td><td>false</td><td>empty</td><td align="right"><code>object</code></td></tr><tr><td><code>topicCreation.replication.rules[].pattern</code></td><td>Regex used to select the topics the properties should be applied to. The first match in the containing array wins.</td><td>false</td><td></td><td align="right"><code>regex</code></td></tr><tr><td><code>topicCreation.replication.rules[].properties.partitions</code></td><td>Partition count to be used when auto-creating replicated topics with a name that matches the specified pattern.</td><td>false</td><td></td><td align="right"><code>integer</code></td></tr><tr><td><code>topicCreation.replication.rules[].properties.replication</code></td><td>Replication to be used when auto-creating replicated topics with a name that matches the specified pattern.</td><td>false</td><td></td><td align="right"><code>short</code></td></tr><tr><td><code>topicCreation.replication.rules[].properties.config</code></td><td>Topic configuration to be used when auto-creating replicated topics with a name that matches the specified pattern</td><td>false</td><td></td><td align="right"><code>object</code></td></tr><tr><td><code>license.acceptEula</code></td><td>It needs to be set to true to run the K2K application</td><td>true</td><td></td><td align="right"><code>boolean</code></td></tr><tr><td><code>license.token</code></td><td>A license key to enable premium features like exactly-once semantics <code>k2k@lenses.io</code></td><td>true</td><td></td><td align="right"><code>string</code></td></tr></tbody></table>

* If any of the properties `topicCreation.*.replication` and `topicCreation.*.partitions` is left blank (or set to null), K2K will default to the cluster default values for those properties.or control topics, the final topic configuration will be the result of merging the default/common value with the one specified in `topicCreation.control.common.config` and the one for the specific topic e.g: `topicCreation.control.commit.config`.
* For replicated topics, the final topic configuration will be the result of overriding the original topic's configuration with the result of merging the default/common value specified in `topicCreation.replication.common` with the one specified in the first matching rule in `topicCreation.replication.rules[]`.

***

## Registry config

The full list of Schema Registry client options and documentation can be found at: <https://docs.confluent.io/platform/current/schema-registry/sr-client-configs.html#configuration-reference-for-sr-clients-on-product>

Note: all options should be prefixed with `schema.registry` (see list below).

| Field Name                                                | Behavior                                                               |
| --------------------------------------------------------- | ---------------------------------------------------------------------- |
| `schema.registry.max.retries`                             | Maximum number of client retries.                                      |
| `schema.registry.retries.wait.ms`                         | Initial delay before first retry.                                      |
| `schema.registry.retries.max.wait.ms`                     | Maximum delay between retries.                                         |
| `schema.registry.schema.registry.url.randomize`           | Randomize starting URL index for load balancing.                       |
| `schema.registry.basic.auth.credentials.source`           | How to source Basic auth credentials (URL, USER\_INFO, SASL\_INHERIT). |
| `schema.registry.basic.auth.user.info`                    | User credentials for Basic auth in `user:password`.                    |
| `schema.registry.http.connect.timeout.ms`                 | HTTP connection timeout.                                               |
| `schema.registry.http.read.timeout.ms`                    | HTTP read timeout.                                                     |
| `schema.registry.bearer.auth.token`                       | Static bearer token for authentication.                                |
| `schema.registry.proxy.host`                              | Hostname of HTTP proxy.                                                |
| `schema.registry.proxy.port`                              | Port of HTTP proxy.                                                    |
| `schema.registry.bearer.auth.credentials.source`          | Method to source bearer token (e.g., OAUTHBEARER).                     |
| `schema.registry.bearer.auth.issuer.endpoint.url`         | OAuth/OIDC issuer token endpoint URL.                                  |
| `schema.registry.bearer.auth.client.id`                   | OAuth client ID for client credentials grant.                          |
| `schema.registry.bearer.auth.client.secret`               | OAuth client secret.                                                   |
| `schema.registry.bearer.auth.scope`                       | Requested OAuth token scope.                                           |
| `schema.registry.bearer.auth.scope.claim.name`            | JWT claim name for scope (default “scope”).                            |
| `schema.registry.bearer.auth.sub.claim.name`              | JWT claim name for subject (default “sub”).                            |
| `schema.registry.bearer.auth.logical.cluster`             | Logical cluster identifier for token header.                           |
| `schema.registry.bearer.auth.identity.pool.id`            | Identity pool ID for token header.                                     |
| `schema.registry.bearer.auth.cache.expiry.buffer.seconds` | Token cache expiry buffer before actual expiry.                        |
| `schema.registry.bearer.auth.custom.provider.class`       | Class to implement custom token retrieval.                             |
| `schema.registry.ssl.protocol`                            | SSLProtocol (e.g. TLSv1.2, TLSv1.3).                                   |
| `schema.registry.ssl.provider`                            | Java security provider name.                                           |
| `schema.registry.ssl.cipher.suites`                       | Enabled SSL cipher suites.                                             |
| `schema.registry.ssl.enabled.protocols`                   | Enabled SSL/TLS protocol versions list.                                |
| `schema.registry.ssl.keystore.type`                       | Keystore format (JKS, PKCS12).                                         |
| `schema.registry.ssl.keystore.key`                        | Keystore private key.                                                  |
| `schema.registry.ssl.keystore.certificate.chain`          | Certificate chain for keystore.                                        |
| `schema.registry.ssl.truststore.certificates`             | Trusted CA certificates.                                               |
| `schema.registry.ssl.keystore.location`                   | Path to keystore file.                                                 |
| `schema.registry.ssl.keystore.password`                   | Password to access keystore.                                           |
| `schema.registry.ssl.key.password`                        | Password for key inside keystore.                                      |
| `schema.registry.ssl.truststore.type`                     | Truststore format.                                                     |
| `schema.registry.ssl.truststore.location`                 | Path to truststore file.                                               |
| `schema.registry.ssl.truststore.password`                 | Password to access truststore.                                         |
| `schema.registry.ssl.keymanager.algorithm`                | KeyManagerFactory algorithm (e.g. SunX509).                            |
| `schema.registry.ssl.trustmanager.algorithm`              | TrustManagerFactory algorithm (e.g. PKIX).                             |
| `schema.registry.ssl.endpoint.identification.algorithm`   | Hostname verification algorithm (e.g. HTTPS).                          |
| `schema.registry.ssl.secure.random.implementation`        | SecureRandom implementation class.                                     |
| `schema.registry.ssl.engine.factory.class`                | Custom SSLEngineFactory implementation.                                |

***

## Registry Supported Types

If your schema registry uses a format/type not listed as a default, you can add them here. That should be enough for K2K to be able to replicate your schemas.

***

(End of content)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lenses.io/latest/k2k/configuration/reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
