Hi All,
Can the Config Provider be specified at the connector level or is the
configuration only available at the worker level (docker configuration)?
Here are our observations:
1. When we specify the config provider at the connector level then when
adding the connector, the validation for the connector fails.
2. When we specify the config provider at the worker level and then add the
connector then validation is successful.
3. When we specify the config provider at both levels and add the connector
then validation is successful.
* If we then delete the worker level configuration and restart kafka
connect then connector still operates correctly
* If we then delete the connector and try to re-add it then the
validation fails again
Example connect configuration:
{
"config.providers": "uda",
"config.providers.uda.class":
"com.my.kafka.config.provider.uda.MyConfigProvider",
"config.providers.uda.param.tenantkey": "mytenant",
"config.providers.uda.param.url":
"http://tenantlocation<http://tenantlocation/>",
"connector.class": "io.debezium.connector.sqlserver.SqlServerConnector",
"database.dbname": "${uda:UUD_DB_NAME}"
...
}
Example worker configuration:
CONNECT_CONFIG_PROVIDERS_UDA_PARAM_URL:
http://tenantlocation<http://tenantlocation/>
CONNECT_CONFIG_PROVIDERS_UDA_PARAM_TENANTKEY: "mytenant"
CONNECT_CONFIG_PROVIDERS: "uda"
CONNECT_CONFIG_PROVIDERS_UDA_CLASS: "
com.my.kafka.config.provider.uda.MyConfigProvider"
Related documentation and links:
https://docs.confluent.io/platform/current/connect/security.html#externalizing-secrets
https://issues.apache.org/jira/browse/KAFKA-7225
Thanks