Migrations Tool for ksqlDB for Confluent Platform¶
The ksql-migrations tool enables you to manage metadata schemas for your ksqlDB clusters by applying statements saved in local migration files to your ksqlDB clusters.
The following properties can be set in your
ksql-migrations.properties
file. The
ksql-migrations new-project command
sets the ksql.server.url
property upon creating the properties file, as
this property is required. The properties file is initialized with
default values for other properties commented out. To enable other
properties, add or uncomment the relevant lines in your
ksql-migrations.properties
file.
Properties have the following format:
<property-name>=<property-value>
Required Configs¶
ksql.server.url
¶
The URL for your ksqlDB server. For example, http://localhost:8088
.
Migrations Metadata Configs¶
ksql.migrations.stream.name
¶
The name of the migrations metadata stream. Defaults to
MIGRATION_EVENTS
.
ksql.migrations.table.name
¶
The name of the migrations metadata table. Defaults to
MIGRATION_SCHEMA_VERSIONS
.
ksql.migrations.stream.topic.name
¶
The name of the Kafka topic backing the migrations metadata
stream. Defaults to <ksql-service-id>ksql_<migrations-stream-name>
where <ksql-service-id>
is the service ID of your ksqlDB cluster and
<migrations-stream-name>
is the value of
`ksql.migrations.stream.name
<#ksqlmigrationsstreamname>`__.
ksql.migrations.table.topic.name
¶
The name of the Kafka topic backing the migrations metadata table.
Defaults to <ksql-service-id>ksql_<migrations-table-name>
where
<ksql-service-id>
is the service ID of your ksqlDB cluster and
<migrations-table-name>
is the value of
`ksql.migrations.table.name
<#ksqlmigrationstablename>`__.
ksql.migrations.topic.replicas
¶
The number of replicas for each of the migrations metadata stream and table. The default is 1.
TLS Configs¶
If `ksql.server.url
<#ksqlserverurl>`__ specifies an HTTPS listener,
the ksql-migrations
tool uses TLS when connecting to the ksqlDB
server.
ssl.truststore.location
¶
The path to the TLS truststore.
ssl.truststore.password
¶
The password for the TLS truststore.
ssl.keystore.location
¶
The path to the TLS keystore.
ssl.keystore.password
¶
The password for the TLS keystore.
ssl.key.password
¶
The password for the TLS key.
ssl.key.alias
¶
The alias for the TLS key, for look up within the keystore.
ssl.alpn
¶
Specifies whether ALPN should be used. Defaults to false
.
ssl.verify.host
¶
Specifies whether hostname verification should be performed. Defaults to
true
.
ksqlDB Server Authentication¶
Migrations Directory Configs¶
ksql.migrations.dir.override
¶
An optional config that allows you to specify the path to the directory
containing migrations files to be applied. This config is not needed if
you set up your migrations project using the
ksql-migrations new-project
command.
If no override is provided, the migrations directory is inferred
relative to the migrations configuration file passed when using the
ksql-migrations
tool. Specifically, the migrations directory is
inferred as a directory with name migrations
contained in the same
directory as the migrations configuration file. This is the default file
structure created by the ksql-migrations new-project
command.
This configuration is available starting with ksqlDB 0.25.0.