Secret provider on confluent images

Problem

Using Lenses secret provider on confluent kafka connect images with a security.protocol other than PLAINTEXT will fail with the following error:

===> User
uid=1000(appuser) gid=1000(appuser) groups=1000(appuser)
===> Configuring ...
===> Running preflight checks ...
===> Check if Kafka is healthy ...
[main] ERROR org.apache.kafka.clients.admin.AdminClientConfig - ClassNotFoundException exception occurred: io.lenses.connect.secrets.providers.Aes256DecodingProvider
[main] ERROR io.confluent.admin.utils.cli.KafkaReadyCommand - Error while running kafka-ready.
org.apache.kafka.common.config.ConfigException: Invalid value java.lang.ClassNotFoundException: io.lenses.connect.secrets.providers.Aes256DecodingProvider for configuration Invalid config:io.lenses.connect.secrets.providers.Aes256DecodingProvider ClassNotFoundException exception occurred
at org.apache.kafka.common.config.AbstractConfig.instantiateConfigProviders(AbstractConfig.java:545)
at org.apache.kafka.common.config.AbstractConfig.resolveConfigVariables(AbstractConfig.java:484)
at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:107)
at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:142)
at org.apache.kafka.clients.admin.AdminClientConfig.<init>(AdminClientConfig.java:217)
at org.apache.kafka.clients.admin.Admin.create(Admin.java:73)
at org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:49)
at io.confluent.admin.utils.ClusterStatus.isKafkaReady(ClusterStatus.java:138)
at io.confluent.admin.utils.cli.KafkaReadyCommand.main(KafkaReadyCommand.java:150)

This is a known bug in confluent docker images. You can find more details here .

Solution

The script causing this issue is /etc/confluent/docker/ensure. Overwriting the file or mounting an altered script should solve the problem. Example:

#!/usr/bin/env bash

exit 0