Generate Redpanda Migrator YAML configuration files for migrating data between Kafka-compatible clusters...
Generate Redpanda Migrator YAML configurations for migrating data, schemas, consumer groups, and ACLs between Kafka-compatible clusters.
When a user requests a Redpanda Migrator configuration:
references/config-spec.md for complete field specificationsAlways ask these questions to build the configuration:
Critical Question:
Important: This determines whether credentials should be:
Required Information:
host:port)Authentication (ask if not provided):
Ask the user:
Ask the user:
^[^_] (excludes internal topics starting with _)Ask the user:
Optional questions (ask if relevant):
migrator_bundle)After gathering requirements:
Read the complete config specification:
file_read: references/config-spec.md
Generate the YAML using the template structure from config-spec.md
Include these essential sections:
input.redpanda_migrator_bundle.redpanda_migrator - source cluster configinput.redpanda_migrator_bundle.schema_registry - source schema registry (if schema migration enabled)output.redpanda_migrator_bundle.redpanda_migrator - destination cluster configoutput.redpanda_migrator_bundle.schema_registry - destination schema registry (if schema migration enabled)metrics.prometheus - monitoring configurationApply user requirements:
Add comments explaining critical settings like:
Reference these patterns for typical requests:
Kafka to Redpanda Cloud:
AWS MSK to Redpanda Cloud:
topic_replication_factor overrideenable_renegotiation: true for TLS if neededConfluent Cloud to Redpanda Cloud:
enable_renegotiation: true for Confluent Cloud TLSinterval: 10s)Redpanda Dedicated to Redpanda Serverless:
serverless: true in outputconsumer_groups.exclude to filter internal consumer groupsRedpanda to Redpanda (Data-Only):
metadata_max_age: 30s for faster regex topic discoveryconsumer_groups.interval for offset sync frequencyenabled: falseRedpanda to Redpanda (with Schemas):
enabled: true (no interval)interval: 10s or desired frequencyversions: latest for faster migration or versions: all for full historyinclude or exclude patternsData-only migration:
${SECRET_NAME} instead of plain text valuesinput_redpanda_migrator_lag metric tracks migration progressWhen Redpanda Connect deployment type is Redpanda Cloud or Redpanda Serverless, use environment variable secrets for all sensitive credentials.
Redpanda Cloud/Serverless:
${REDPANDA_BROKERS} - Seed brokers${REDPANDA_USER} - Username${REDPANDA_USER_PWD} - PasswordConfluent Cloud:
${CC_BROKERS} - Bootstrap brokers${CC_USER} - API key (username)${CC_USER_PWD} - API secret (password)AWS MSK / Custom Kafka:
${KAFKA_BROKERS} - Bootstrap brokers${KAFKA_USER} - Username${KAFKA_USER_PWD} - Passwordinput:
redpanda_migrator:
seed_brokers: ["${REDPANDA_BROKERS}"]
sasl:
- mechanism: "SCRAM-SHA-256"
username: "${REDPANDA_USER}"
password: "${REDPANDA_USER_PWD}"
tls:
enabled: true
output:
redpanda_migrator:
seed_brokers: ["${REDPANDA_BROKERS}"]
sasl:
- mechanism: "SCRAM-SHA-256"
username: "${REDPANDA_USER}"
password: "${REDPANDA_USER_PWD}"
tls:
enabled: true
input:
redpanda_migrator:
seed_brokers: ["${CC_BROKERS}"]
sasl:
- mechanism: "PLAIN"
username: "${CC_USER}"
password: "${CC_USER_PWD}"
tls:
enabled: true
enable_renegotiation: true
output:
redpanda_migrator:
seed_brokers: ["${REDPANDA_BROKERS}"]
sasl:
- mechanism: "SCRAM-SHA-256"
username: "${REDPANDA_USER}"
password: "${REDPANDA_USER_PWD}"
tls:
enabled: true
input:
redpanda_migrator:
seed_brokers: ["${KAFKA_BROKERS}"]
sasl:
- mechanism: "SCRAM-SHA-512"
username: "${KAFKA_USER}"
password: "${KAFKA_USER_PWD}"
tls:
enabled: true
output:
redpanda_migrator:
seed_brokers: ["${REDPANDA_BROKERS}"]
sasl:
- mechanism: "SCRAM-SHA-256"
username: "${REDPANDA_USER}"
password: "${REDPANDA_USER_PWD}"
tls:
enabled: true
When deployment type is Redpanda Cloud or Serverless:
${SECRET_NAME} format in configurationDocumentation: https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/secret-management/
Local/Custom Deployment:
seed_brokers: ["localhost:9092"]
username: "admin"
password: "admin-password"
Cloud/Serverless Deployment:
seed_brokers: ["${REDPANDA_BROKERS}"]
username: "${REDPANDA_USER}"
password: "${REDPANDA_USER_PWD}"
metadata_max_age: Controls how often regex topic patterns are re-evaluated (default: 5m)
30s or 1m for faster discovery of newly created topicsconsumer_groups.interval: Sync frequency for consumer group offsets
true (default behavior) or object with interval fieldconsumer_groups: { interval: 1m } syncs offsets every minuteconsumer_groups.exclude: Filter consumer groups from migration
exclude: ["console-consumer-.*", "__.*", "connect.*"]schema_registry.enabled: Explicitly enable/disable schema migration
false for data-only migrations even when URL is configuredschema_registry.interval: Periodic schema synchronization
10s): Continuous sync for ongoing schema updatesschema_registry.versions: Schema version migration strategy
all: Migrate complete version history (DEFAULT - recommended for production)latest: Migrate only the latest version (faster, less history)interval: latest captures new versions as they become latestschema_registry.include: Filter schemas by subject patterns
include: ["orders.*", "users.*"]schema_registry.exclude: Exclude schemas by subject patterns
include patternsexclude: [".*test.*", ".*temp.*"]schema_registry.normalize: Schema normalization
true to transform schemas to canonical formatserverless: Required flag for Redpanda Cloud Serverless
true when destination is Serverlesstopic_replication_factor: Override replication factor for new topics
enable_renegotiation: TLS renegotiation support
true for Confluent Cloud compatibilitylogger.level: Set log verbosity (TRACE, DEBUG, INFO, WARN, ERROR)
DEBUG for troubleshooting migration issuesINFO (default) for normal operationAlways output the complete YAML configuration with:
After generating the configuration, explain:
redpanda-connect run <filename>.yaml