# Reference

<table data-full-width="true"><thead><tr><th width="397.40625">Field</th><th width="267.42578125">Behavior / Description</th><th align="center">Required</th><th align="right">Default</th><th align="right">Type</th><th>Comment</th></tr></thead><tbody><tr><td><code>name</code></td><td>Name of the pipeline.</td><td align="center">Yes</td><td align="right"></td><td align="right"><code>string</code></td><td></td></tr><tr><td><code>features.exactlyOnce</code></td><td>Enables exactly-once processing.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></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 align="center">No</td><td align="right"><code>enabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></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 align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>features.headerReplication</code></td><td>Enables/disables header replication.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>features.schemaMapping</code></td><td>Enables/disables schema replication.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></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 align="center">No</td><td align="right"><code>enabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>features.autoCreateControlTopics</code></td><td>Enables creation of the necessary control topics used by the k2k application.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>features.validateControlTopicSettings</code></td><td>Enables validation of configurations for control topics used by the k2k application.</td><td align="center">No</td><td align="right"><code>enabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></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 align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code>, <code>object</code></td><td></td></tr><tr><td><code>features.tracingHeaders.partition</code></td><td>Appends the partition tracing header to each replicated record.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>features.tracingHeaders.offset</code></td><td>Appends the offset tracing header to each replicated record.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>features.tracingHeaders.topic</code></td><td>Appends the topic tracing header to each replicated record.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>features.tracingHeaders.pipeline</code></td><td>Appends the pipeline name tracing header to each replicated record.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></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 align="center">No</td><td align="right"><code>enabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>features.bidirectionalReplication</code></td><td>Global feature flag to enable bidirectional replication.</td><td align="center">No</td><td align="right"><code>disabled</code></td><td align="right"><code>enabled</code>, <code>disabled</code></td><td></td></tr><tr><td><code>tracing.headers.partition</code></td><td>Name given to the header containing the source partition information.</td><td align="center">No</td><td align="right"><code>__k2k_partition</code></td><td align="right"><code>string</code></td><td></td></tr><tr><td><code>tracing.headers.offset</code></td><td>Name given to the header containing the source offset information.</td><td align="center">No</td><td align="right"><code>__k2k_partition</code></td><td align="right"><code>string</code></td><td></td></tr><tr><td><code>tracing.headers.topic</code></td><td>Name given to the header containing the source topic information.</td><td align="center">No</td><td align="right"><code>__k2k_partition</code></td><td align="right"><code>string</code></td><td></td></tr><tr><td><code>tracing.headers.pipeline</code></td><td>Name given to the header containing the source pipeline information.</td><td align="center">No</td><td align="right"><code>__k2k_partition</code></td><td align="right"><code>string</code></td><td></td></tr><tr><td><code>errorHandling.onCommitSyncTimeout</code></td><td>Handles the timeout when determining the latest committed offset.</td><td align="center">No</td><td align="right"></td><td align="right"><code>fail</code>, <code>ignore</code></td><td></td></tr><tr><td><code>errorHandling.onControlMessageDeserializationError</code></td><td>Handles deserialization errors for control messages.</td><td align="center">No</td><td align="right"></td><td align="right"><code>fail</code>, <code>ignore</code></td><td></td></tr><tr><td><code>coordination.assignment.topic</code></td><td>Topic used for assignment coordination.</td><td align="center">No</td><td align="right"><code>__k2k-assignment</code></td><td align="right"></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 align="center">No</td><td align="right"><code>15 seconds</code></td><td align="right">Time string (e.g., <code>15 seconds</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 align="center">No</td><td align="right"><code>10</code></td><td align="right"><code>integer</code></td><td></td></tr><tr><td><code>coordination.commit.topic</code></td><td>Topic for offset commits.</td><td align="center">No</td><td align="right"><code>__k2k_consumer-offsets</code></td><td align="right"></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 align="center">No</td><td align="right"><code>10 seconds</code></td><td align="right">Time string (e.g., <code>10 seconds</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 align="center">No</td><td align="right"><code>100</code></td><td align="right">Positive integers</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 align="center">No</td><td align="right"><code>5 seconds</code></td><td align="right">Time string (e.g., <code>5 seconds</code>)</td><td></td></tr><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 align="center">No</td><td align="right"><code>cluster</code></td><td align="right"><code>cluster</code> , <code>pipeline</code>`</td><td></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 align="center">No</td><td align="right"><code>__k2k_bidirectional</code></td><td align="right"><code>string</code></td><td></td></tr><tr><td><code>source.kafka.consumer</code></td><td>Kafka consumer configuration. Used when reading data from the source cluster.</td><td align="center">No</td><td align="right"></td><td align="right"></td><td></td></tr><tr><td><code>source.kafka.common</code></td><td>Common properties inherited by <code>consumer</code> and <code>admin</code> clients</td><td align="center">No</td><td align="right"></td><td align="right"></td><td></td></tr><tr><td><code>source.kafka.consumer."group.id"</code></td><td>Consumer group name. Used exclusively for partition assignment.</td><td align="center">Yes</td><td align="right"></td><td align="right"></td><td>This property is independent of <code>coordination.kafka.commit.group</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 align="center">No</td><td align="right"></td><td align="right"></td><td></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 align="center">No</td><td align="right">empty object</td><td align="right">object with string values.</td><td>only used if <code>features.schemaMapping</code> is enabled</td></tr><tr><td><code>source.registry.config."schema.registry.url"</code></td><td>Schema Registry URL.</td><td align="center">No</td><td align="right"></td><td align="right">Comma-separated list of addresses.</td><td>only used if <code>features.schemaMapping</code> is enabled</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 align="center">No</td><td align="right"><code>31</code></td><td align="right"><code>Integer</code></td><td>only used if <code>features.schemaMapping</code> is enabled</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 align="center">No</td><td align="right">empty object</td><td align="right">object with primitive values</td><td>only used if <code>features.schemaMapping</code> is enabled</td></tr><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 align="center">No</td><td align="right"></td><td align="right"></td><td></td></tr><tr><td><code>target.kafka.producer</code></td><td>Kafka producer configuration used to produce data to the target cluster.</td><td align="center">No</td><td align="right"></td><td align="right"></td><td></td></tr><tr><td><code>target.kafka.admin</code></td><td>Kafka admin client configuration used to introspect the Kafka target cluster.</td><td align="center">No</td><td align="right"></td><td align="right"></td><td></td></tr><tr><td><code>target.kafka.topicPropsExclusionList</code></td><td><p>allows you to exclude 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 align="center">No</td><td align="right">empty array</td><td align="right">Array of strings</td><td></td></tr><tr><td><code>target.registry.config."schema.registry.url"</code></td><td>Schema Registry URL.</td><td align="center">No</td><td align="right"></td><td align="right">Comma-separated list of addresses.</td><td>only used if <code>features.schemaMapping</code> is enabled</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 align="center">No</td><td align="right">empty object</td><td align="right">object with string values.</td><td>only used if <code>features.schemaMapping</code> is enabled</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 align="center">No</td><td align="right"><code>31</code></td><td align="right"><code>Integer</code></td><td>only used if <code>features.schemaMapping</code> is enabled</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 align="center">No</td><td align="right">empty object</td><td align="right">object with primitive values</td><td>only used if <code>features.schemaMapping</code> is enabled</td></tr><tr><td><code>replication[0].source.topic</code></td><td>Defines the topic(s) K2K will read data from.</td><td align="center">Yes</td><td align="right"></td><td align="right"></td><td>Section <code>Replication.Source.Topic</code></td></tr><tr><td><code>replication[].sink.topic</code></td><td>Strategy used to assign the target cluster's topic.</td><td align="center">Yes</td><td align="right"></td><td align="right">Any valid topic name</td><td></td></tr><tr><td><code>replication[].sink.partition</code></td><td>Strategy used to assign the target cluster's partition for a record.</td><td align="center">Yes</td><td align="right"></td><td align="right">Any valid partition</td><td></td></tr><tr><td><code>schemaMapping.topics[].pattern</code></td><td>A regex that defines the topics schema mapping applies to.</td><td align="center">No</td><td align="right"></td><td align="right">Regex</td><td></td></tr><tr><td><code>schemaMapping.topics[].key</code></td><td>Toggles schema replication for the topic's key facet.</td><td align="center">No</td><td align="right"></td><td align="right">enabled/disabled</td><td></td></tr><tr><td><code>schemaMapping.topics[].value</code></td><td>Toggles schema replication for the topic's value facet.</td><td align="center">No</td><td align="right"></td><td align="right">enabled/disabled</td><td></td></tr><tr><td><code>metrics.prefix.targetConsumer</code></td><td>Prefix added to metrics concerning the consumer instantiated against the target cluster.</td><td align="center">No</td><td align="right"><code>"k2k.consumer.control."</code></td><td align="right">Any valid string</td><td></td></tr><tr><td><code>metrics.prefix.targetProducer</code></td><td>Prefix added to metrics concerning the producer instantiated against the target cluster.</td><td align="center">No</td><td align="right"><code>"k2k.producer."</code></td><td align="right">Any valid string</td><td></td></tr><tr><td><code>metrics.prefix.sourceConsumer</code></td><td>Prefix added to metrics concerning the consumer instantiated against the source cluster.</td><td align="center">No</td><td align="right"><code>"k2k.producer."</code></td><td align="right">Any valid string</td><td></td></tr><tr><td><code>metrics.prefix.assignment</code></td><td>Prefix added to metrics concerning the assignment process (assigned topics, partitions,...)</td><td align="center">No</td><td align="right"><code>"k2k."</code></td><td align="right">Any valid string</td><td></td></tr><tr><td><code>metrics.kafka.topic</code></td><td>Topic where metrics are published to. Note: OTEL_METRICS_EXPORTER must be configured with <code>kafka</code> for metrics to be exporter to kafka.</td><td align="center">No</td><td align="right"><code>"k2k."</code></td><td align="right">Any valid string</td><td></td></tr><tr><td><code>topicCreation.control.common.partitions</code></td><td>Default partition count to be used when creating any of the control topics.</td><td align="center">No</td><td align="right">empty</td><td align="right"><code>integer</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</td></tr><tr><td><code>topicCreation.control.common.replication</code></td><td>Default replication to be used when creating any of the control topics.</td><td align="center">No</td><td align="right">empty</td><td align="right"><code>short</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</td></tr><tr><td><code>topicCreation.control.common.config</code></td><td>Default topic configuration to be used when creating any of the control topics.</td><td align="center">No</td><td align="right">empty object</td><td align="right"><code>object</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</td></tr><tr><td><code>topicCreation.control.assignment.partitions</code></td><td>Default partition count to be used when creating the topic used for exactly-once assignment control.</td><td align="center">No</td><td align="right">empty</td><td align="right"><code>integer</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</td></tr><tr><td><code>topicCreation.control.assignment.replication</code></td><td>Default replication to be used when creating the topic used for exactly-once assignment control.</td><td align="center">No</td><td align="right">empty</td><td align="right"><code>short</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</td></tr><tr><td><code>topicCreation.control.assignment.config</code></td><td>Default topic configuration to be used when creating the topic used for exactly-once assignment control.</td><td align="center">No</td><td align="right">object with {"cleanup.policy": "compact, delete"}</td><td align="right"><code>object</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</td></tr><tr><td><code>topicCreation.control.commit.partitions</code></td><td>Default partition count to be used when creating the topic used for offset commit control.</td><td align="center">No</td><td align="right">empty</td><td align="right"><code>integer</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</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 align="center">No</td><td align="right">empty</td><td align="right"><code>short</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</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 align="center">No</td><td align="right">object with {"cleanup.policy": "compact, delete"}</td><td align="right"><code>object</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</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 align="center">No</td><td align="right">empty</td><td align="right"><code>integer</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</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 align="center">No</td><td align="right">empty</td><td align="right"><code>short</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</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 align="center">No</td><td align="right">empty object</td><td align="right"><code>object</code></td><td>only used if <code>features.autoCreateControlTopics</code> is enabled</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 align="center">No</td><td align="right">empty</td><td align="right"><code>integer</code></td><td>only used if <code>features.autoCreateTopics</code> is enabled</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 align="center">No</td><td align="right">empty</td><td align="right"><code>short</code></td><td>only used if <code>features.autoCreateTopics</code> is enabled</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 align="center">No</td><td align="right">empty object</td><td align="right"><code>object</code></td><td>only used if <code>features.autoCreateTopics</code> is enabled</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 align="center">No</td><td align="right"></td><td align="right">regex expression</td><td>only used if <code>features.autoCreateTopics</code> is enabled</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 align="center">No</td><td align="right"></td><td align="right"><code>integer</code></td><td>only used if <code>features.autoCreateTopics</code> is enabled</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 align="center">No</td><td align="right"></td><td align="right"><code>short</code></td><td>only used if <code>features.autoCreateTopics</code> is enabled</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 align="center">No</td><td align="right"></td><td align="right"><code>object</code></td><td>only used if <code>features.autoCreateTopics</code> is enabled</td></tr><tr><td><code>license.acceptEula</code></td><td>It needs to be set to true to run the K2K application</td><td align="center">Yes</td><td align="right"></td><td align="right"><code>boolean</code></td><td></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 align="center">No</td><td align="right"></td><td align="right"><code>string</code></td><td></td></tr></tbody></table>

***

## Topic Creation

* 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.
* For 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)
