Skip to content

Example: new topics (no cluster link)

mode: new reads the source topic list and reproduces the selected topics as plain topics directly on the target — copying each source topic's partition count and explicitly-set (non-default) configs. Topics are created at the target's default replication factor (Confluent Cloud uses RF=3). It needs no cluster link, so there is no spec.clusterLink block.

create is additive: it only creates absent topics. An existing target topic whose partition count differs from the source is reported as drift and left untouched; it is never altered or deleted.

Credential slots

Slot Family This example Catalog
spec.source.credentials Kafka SASL/SCRAM kafka-sasl-scram.yaml
spec.target.clusterCredentials REST API key rest-api-key.yaml

Any Kafka credential works for the source (swap in IAM, mTLS, SASL/PLAIN, …); any REST credential works for the target. See the credential catalog.

Run

kcp migration resources validate -f migration.yaml   # structural check
kcp migration resources create -f migration.yaml --dry-run   # preview, change nothing
kcp migration resources create -f migration.yaml             # create the topics

Credential paths here point at the shared catalog (../../credentials/…) to avoid duplication. For a real migration, copy the credential files next to your manifest and update the paths.