Kafka Connect 0.8.1 Changelog
[0.8.1] - 2026-10-21
Added
-
Custom plugins volume: the base image loads a volume mounted at
/mnt/custom-pluginswithextraVolumesas one more plugin, for testing a connector that is not in the catalog. A writable mount on that path fails the render. -
Base image verification (
baseImageVerification): opt-in. A KyvernoNamespacedImageValidatingPolicyadmits a worker pod only when its base image carries an Axual release signature. Needs Kyverno 1.19 or later.
[0.8.0] - 2026-10-16
Added
-
Registry credentials (
registryCredentials):registry,usernameandpasswordfor any number of registries, written into onekubernetes.io/dockerconfigjsonSecret and added to the worker pods' pull secrets, next toimagePullSecrets. The same registry twice fails the render. -
Egress NetworkPolicy (
egress): opt-in. Limits where the workers may connect to: DNS, the other workers of the cluster, and the destinations inegress.rules. Turning it on without rules fails the render. -
Managed plugins (
managedPlugins), not supported yet: shipped so a later release is not needed. When on, a KyvernoPolicymounts the plugins listed in a provisioner-owned ConfigMap into each new worker pod, and refuses images outsidemanagedPlugins.allowedRegistriesor not pinned by digest. No provisioner implements this side so far. -
Worker settings:
jvmOptions,podLabels,serviceAccountAnnotations,extraVolumesandextraVolumeMounts, passed through to the Strimzi resource. Mounts are read-only unless set otherwise.
All new values are off or empty by default: an upgrade without values changes renders the same resources as 0.7.1.
[0.7.1] - 2026-10-09
Initial release. The chart renders a Strimzi KafkaConnect resource
and its supporting manifests; the Strimzi operator owns the workers.
Added
-
Plugin delivery in two modes: per-plugin OCI images mounted as image volumes (
imageVolumes, default) or one prebuilt image per profile (prebuiltImage, withprebuiltImageRegistryfor mirrors). -
Plugin catalog:
pluginsentries are selected by name fromplugin-catalog.yaml, shipped in the chart package, which pins every plugin image by tag and digest. An unknown name fails the render and lists the catalogued plugins. An entry with an explicitimagemounts a connector the catalog does not list. -
Plugins: 32 connector, converter and transform plugins, among them Debezium (MongoDB, MySQL, Oracle, PostgreSQL, SQL Server), Aiven JDBC, OpenSearch and S3, Camel SFTP, Stream Reactor (Cassandra, FTP, JMS, MQTT), Snowflake, Splunk, the Apicurio Registry 3.3.3 converter and
kafka-topic-name-transforms. -
Worker authentication with mTLS or SASL/SCRAM-SHA-512, and
bootstrapServersper listener. -
Cluster identity (
tenant,instance,clusterName), required and validated as label values. They label the worker pods for the log viewer and derive the group id and internal topic names (_<tenant>-<instance>-<clusterName>-connect[-configs|-offsets|-status]), so two clusters on one Kafka never merge. An upgrade that would change these names fails before applying anything. -
ACL bootstrap Job (
aclBootstrap): a pre-install/pre-upgrade hook that creates the internal topics and grants the worker ACLs, as an mTLS or SCRAM superuser. -
Vault integration (
vault) for${vault:...}placeholders in connector configs, with the AppRole credentials in a Secret (vault.credentialsSecret). -
REST API route with basic auth (
restApi): anIngressorHTTPRoute, an htpasswd Secret,extraObjectsfor implementation-specific auth, and aNetworkPolicythat leaves the route as the only way to port 8083. Examples for ingress-nginx, F5 NIC and NGINX Gateway Fabric. -
ECS JSON worker logs with
logging.level,logging.loggersandlogging.monitorInterval. -
Pod hardening: restricted
podSecurityContext/securityContextby default, plusruntimeClassName(via a Kyverno policy),affinity,tolerationsandpodAnnotations. -
Strict values schema: unknown keys are rejected, except inside a
pluginsentry, where keys other thannameandimageare ignored.