Skip to content

Commit b7e8d98

Browse files
authored
Add support for Kafka 4.2.1 (#12774)
Signed-off-by: Jakub Scholz <www@scholzj.com>
1 parent b8d4c97 commit b7e8d98

9 files changed

Lines changed: 370 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
## 1.1.0
44

5+
* Add support for Apache Kafka 4.3.0 and 4.2.1
6+
* Remove support for Kafka 4.1.x
57
* Reconcile Cruise Control before Entity Operator when both are enabled.
6-
* Add support for Apache Kafka 4.3.0 and remove support for Kafka 4.1.x
78
* New Cluster operator configuration option `STRIMZI_PKCS12_KEYSTORE_GENERATION` to disable generating PKCS12 stores in CA and Kafka user `Secret` resources.
89
* Support for Gateway API-based `type: tlsroute` listener
910
* Support for dependency scope configuration of Maven artifacts in Kafka Connect Build

docker-images/artifacts/kafka-thirdparty-libs/4.2.x/ignorelist renamed to docker-images/artifacts/kafka-thirdparty-libs/4.2.0/ignorelist

File renamed without changes.

docker-images/artifacts/kafka-thirdparty-libs/4.2.x/pom.xml renamed to docker-images/artifacts/kafka-thirdparty-libs/4.2.0/pom.xml

File renamed without changes.

docker-images/artifacts/kafka-thirdparty-libs/4.2.1/ignorelist

Whitespace-only changes.
Lines changed: 353 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,353 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
3+
xmlns="http://maven.apache.org/POM/4.0.0"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
5+
<groupId>io.strimzi</groupId>
6+
<version>1.0.0-SNAPSHOT</version>
7+
<modelVersion>4.0.0</modelVersion>
8+
<artifactId>kafka-thirdparty-libs</artifactId>
9+
<packaging>pom</packaging>
10+
11+
<!--
12+
Kafka 4.2.1 uses different Jackson version (2.21.2) than Kafka 4.2.0. So we use separate third-party libs directory.
13+
-->
14+
15+
<licenses>
16+
<license>
17+
<name>Apache License, Version 2.0</name>
18+
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
19+
</license>
20+
</licenses>
21+
22+
<properties>
23+
<strimzi-oauth.version>0.17.1</strimzi-oauth.version>
24+
<strimzi-metrics-reporter.version>0.3.0</strimzi-metrics-reporter.version>
25+
<prometheus.version>1.3.6</prometheus.version>
26+
<cruise-control.version>2.5.146</cruise-control.version>
27+
<kafka-quotas-plugin.version>0.4.0</kafka-quotas-plugin.version>
28+
<kafka-kubernetes-config-provider.version>1.2.2</kafka-kubernetes-config-provider.version>
29+
<opentelemetry.version>1.34.1</opentelemetry.version>
30+
<opentelemetry-alpha.version>1.34.1-alpha</opentelemetry-alpha.version>
31+
<opentelemetry.instrumentation.version>1.32.0-alpha</opentelemetry.instrumentation.version>
32+
<grpc-netty-shaded.version>1.75.0</grpc-netty-shaded.version>
33+
<log4j.version>2.25.4</log4j.version>
34+
</properties>
35+
36+
<repositories>
37+
<repository>
38+
<id>cruise-control</id>
39+
<url>https://linkedin.jfrog.io/artifactory/cruise-control/</url>
40+
</repository>
41+
</repositories>
42+
43+
<dependencies>
44+
<!-- Support for the new JsonTemplateLayout as appender type -->
45+
<dependency>
46+
<groupId>org.apache.logging.log4j</groupId>
47+
<artifactId>log4j-layout-template-json</artifactId>
48+
<version>${log4j.version}</version>
49+
<exclusions>
50+
<exclusion>
51+
<groupId>org.apache.logging.log4j</groupId>
52+
<artifactId>log4j-api</artifactId>
53+
</exclusion>
54+
<exclusion>
55+
<groupId>org.apache.logging.log4j</groupId>
56+
<artifactId>log4j-core</artifactId>
57+
</exclusion>
58+
</exclusions>
59+
</dependency>
60+
61+
<!-- Tracing -->
62+
<dependency>
63+
<groupId>io.opentelemetry</groupId>
64+
<artifactId>opentelemetry-sdk-extension-autoconfigure</artifactId>
65+
<version>${opentelemetry.version}</version>
66+
</dependency>
67+
<dependency>
68+
<groupId>io.opentelemetry.instrumentation</groupId>
69+
<artifactId>opentelemetry-kafka-clients-2.6</artifactId>
70+
<version>${opentelemetry.instrumentation.version}</version>
71+
</dependency>
72+
<dependency>
73+
<groupId>io.opentelemetry</groupId>
74+
<artifactId>opentelemetry-exporter-otlp</artifactId>
75+
<version>${opentelemetry.version}</version>
76+
<exclusions>
77+
<exclusion>
78+
<groupId>io.opentelemetry</groupId>
79+
<artifactId>opentelemetry-exporter-sender-okhttp</artifactId>
80+
</exclusion>
81+
</exclusions>
82+
</dependency>
83+
<dependency>
84+
<groupId>io.opentelemetry</groupId>
85+
<artifactId>opentelemetry-exporter-sender-jdk</artifactId>
86+
<version>${opentelemetry-alpha.version}</version>
87+
<scope>runtime</scope>
88+
</dependency>
89+
<dependency>
90+
<groupId>io.opentelemetry</groupId>
91+
<artifactId>opentelemetry-exporter-sender-grpc-managed-channel</artifactId>
92+
<version>${opentelemetry.version}</version>
93+
<scope>runtime</scope>
94+
<exclusions>
95+
<!-- excluded as we end up with conflicting copies in the image -->
96+
<exclusion>
97+
<groupId>com.google.errorprone</groupId>
98+
<artifactId>error_prone_annotations</artifactId>
99+
</exclusion>
100+
</exclusions>
101+
</dependency>
102+
<dependency>
103+
<groupId>io.grpc</groupId>
104+
<artifactId>grpc-netty-shaded</artifactId>
105+
<version>${grpc-netty-shaded.version}</version>
106+
<scope>runtime</scope>
107+
<exclusions>
108+
<!-- excluded as we end up with conflicting copies in the image -->
109+
<exclusion>
110+
<groupId>org.checkerframework</groupId>
111+
<artifactId>checker-qual</artifactId>
112+
</exclusion>
113+
<!-- excluded as we end up with conflicting copies in the image -->
114+
<exclusion>
115+
<groupId>com.google.errorprone</groupId>
116+
<artifactId>error_prone_annotations</artifactId>
117+
</exclusion>
118+
</exclusions>
119+
</dependency>
120+
<!-- OAuth -->
121+
<dependency>
122+
<groupId>io.strimzi</groupId>
123+
<artifactId>kafka-oauth-common</artifactId>
124+
<version>${strimzi-oauth.version}</version>
125+
<exclusions>
126+
<exclusion>
127+
<groupId>org.slf4j</groupId>
128+
<artifactId>slf4j-api</artifactId>
129+
</exclusion>
130+
<exclusion>
131+
<groupId>org.apache.kafka</groupId>
132+
<artifactId>kafka-clients</artifactId>
133+
</exclusion>
134+
<exclusion>
135+
<groupId>com.fasterxml.jackson.core</groupId>
136+
<artifactId>jackson-databind</artifactId>
137+
</exclusion>
138+
<exclusion>
139+
<groupId>com.fasterxml.jackson.core</groupId>
140+
<artifactId>jackson-core</artifactId>
141+
</exclusion>
142+
<exclusion>
143+
<groupId>com.sun.activation</groupId>
144+
<artifactId>jakarta.activation</artifactId>
145+
</exclusion>
146+
<exclusion>
147+
<groupId>com.github.stephenc.jcip</groupId>
148+
<artifactId>jcip-annotations</artifactId>
149+
</exclusion>
150+
</exclusions>
151+
</dependency>
152+
<dependency>
153+
<groupId>io.strimzi</groupId>
154+
<artifactId>kafka-oauth-server</artifactId>
155+
<version>${strimzi-oauth.version}</version>
156+
<exclusions>
157+
<exclusion>
158+
<groupId>org.apache.kafka</groupId>
159+
<artifactId>kafka-clients</artifactId>
160+
</exclusion>
161+
<exclusion>
162+
<groupId>com.fasterxml.jackson.core</groupId>
163+
<artifactId>jackson-databind</artifactId>
164+
</exclusion>
165+
<exclusion>
166+
<groupId>com.fasterxml.jackson.core</groupId>
167+
<artifactId>jackson-core</artifactId>
168+
</exclusion>
169+
<exclusion>
170+
<groupId>com.sun.activation</groupId>
171+
<artifactId>jakarta.activation</artifactId>
172+
</exclusion>
173+
</exclusions>
174+
</dependency>
175+
<dependency>
176+
<groupId>io.strimzi</groupId>
177+
<artifactId>kafka-oauth-server-plain</artifactId>
178+
<version>${strimzi-oauth.version}</version>
179+
<exclusions>
180+
<exclusion>
181+
<groupId>org.apache.kafka</groupId>
182+
<artifactId>kafka-clients</artifactId>
183+
</exclusion>
184+
<exclusion>
185+
<groupId>com.fasterxml.jackson.core</groupId>
186+
<artifactId>jackson-databind</artifactId>
187+
</exclusion>
188+
<exclusion>
189+
<groupId>com.fasterxml.jackson.core</groupId>
190+
<artifactId>jackson-core</artifactId>
191+
</exclusion>
192+
<exclusion>
193+
<groupId>com.sun.activation</groupId>
194+
<artifactId>jakarta.activation</artifactId>
195+
</exclusion>
196+
</exclusions>
197+
</dependency>
198+
<dependency>
199+
<groupId>io.strimzi</groupId>
200+
<artifactId>kafka-oauth-client</artifactId>
201+
<version>${strimzi-oauth.version}</version>
202+
<exclusions>
203+
<exclusion>
204+
<groupId>org.apache.kafka</groupId>
205+
<artifactId>kafka-clients</artifactId>
206+
</exclusion>
207+
<exclusion>
208+
<groupId>com.fasterxml.jackson.core</groupId>
209+
<artifactId>jackson-databind</artifactId>
210+
</exclusion>
211+
<exclusion>
212+
<groupId>com.sun.activation</groupId>
213+
<artifactId>jakarta.activation</artifactId>
214+
</exclusion>
215+
</exclusions>
216+
</dependency>
217+
<dependency>
218+
<groupId>io.strimzi</groupId>
219+
<artifactId>kafka-oauth-keycloak-authorizer</artifactId>
220+
<version>${strimzi-oauth.version}</version>
221+
<exclusions>
222+
<exclusion>
223+
<groupId>org.apache.kafka</groupId>
224+
<artifactId>kafka-clients</artifactId>
225+
</exclusion>
226+
<exclusion>
227+
<groupId>com.fasterxml.jackson.core</groupId>
228+
<artifactId>jackson-databind</artifactId>
229+
</exclusion>
230+
<exclusion>
231+
<groupId>com.fasterxml.jackson.core</groupId>
232+
<artifactId>jackson-core</artifactId>
233+
</exclusion>
234+
<exclusion>
235+
<groupId>com.sun.activation</groupId>
236+
<artifactId>jakarta.activation</artifactId>
237+
</exclusion>
238+
</exclusions>
239+
</dependency>
240+
<!-- Cruise Control -->
241+
<dependency>
242+
<groupId>com.linkedin.cruisecontrol</groupId>
243+
<artifactId>cruise-control-metrics-reporter</artifactId>
244+
<version>${cruise-control.version}</version>
245+
<exclusions>
246+
<exclusion>
247+
<groupId>org.apache.kafka</groupId>
248+
<artifactId>kafka_2.13</artifactId>
249+
</exclusion>
250+
<exclusion>
251+
<groupId>org.apache.kafka</groupId>
252+
<artifactId>kafka-clients</artifactId>
253+
</exclusion>
254+
<exclusion>
255+
<groupId>org.apache.kafka</groupId>
256+
<artifactId>kafka-server</artifactId>
257+
</exclusion>
258+
<exclusion>
259+
<groupId>org.slf4j</groupId>
260+
<artifactId>slf4j-api</artifactId>
261+
</exclusion>
262+
<exclusion>
263+
<groupId>org.apache.logging.log4j</groupId>
264+
<artifactId>log4j-slf4j-impl</artifactId>
265+
</exclusion>
266+
<exclusion>
267+
<groupId>com.fasterxml.jackson.core</groupId>
268+
<artifactId>jackson-databind</artifactId>
269+
</exclusion>
270+
</exclusions>
271+
</dependency>
272+
<!-- Metrics Reporter -->
273+
<dependency>
274+
<groupId>io.strimzi</groupId>
275+
<artifactId>server-metrics-reporter</artifactId>
276+
<version>${strimzi-metrics-reporter.version}</version>
277+
</dependency>
278+
<dependency>
279+
<groupId>io.prometheus</groupId>
280+
<artifactId>prometheus-metrics-model</artifactId>
281+
<version>${prometheus.version}</version>
282+
</dependency>
283+
<dependency>
284+
<groupId>io.prometheus</groupId>
285+
<artifactId>prometheus-metrics-instrumentation-jvm</artifactId>
286+
<version>${prometheus.version}</version>
287+
</dependency>
288+
<dependency>
289+
<groupId>io.prometheus</groupId>
290+
<artifactId>prometheus-metrics-exporter-httpserver</artifactId>
291+
<version>${prometheus.version}</version>
292+
</dependency>
293+
<!-- Kafka Quotas Plugin -->
294+
<dependency>
295+
<groupId>io.strimzi</groupId>
296+
<artifactId>kafka-quotas-plugin</artifactId>
297+
<version>${kafka-quotas-plugin.version}</version>
298+
</dependency>
299+
<!-- Kubernetes Configuration Provider for Apache Kafka -->
300+
<dependency>
301+
<groupId>io.strimzi</groupId>
302+
<artifactId>kafka-kubernetes-config-provider</artifactId>
303+
<version>${kafka-kubernetes-config-provider.version}</version>
304+
<exclusions>
305+
<exclusion>
306+
<groupId>org.slf4j</groupId>
307+
<artifactId>slf4j-api</artifactId>
308+
</exclusion>
309+
<exclusion>
310+
<groupId>com.fasterxml.jackson.core</groupId>
311+
<artifactId>jackson-core</artifactId>
312+
</exclusion>
313+
<exclusion>
314+
<groupId>com.fasterxml.jackson.core</groupId>
315+
<artifactId>jackson-annotations</artifactId>
316+
</exclusion>
317+
<exclusion>
318+
<groupId>com.fasterxml.jackson.core</groupId>
319+
<artifactId>jackson-databind</artifactId>
320+
</exclusion>
321+
<exclusion>
322+
<!-- Excluded because using the latest version coming from Kafka -->
323+
<groupId>com.fasterxml.jackson.dataformat</groupId>
324+
<artifactId>jackson-dataformat-yaml</artifactId>
325+
</exclusion>
326+
<exclusion>
327+
<!-- Excluded and imported separately to keep the Jackson version in sync with Kafka -->
328+
<groupId>com.fasterxml.jackson.datatype</groupId>
329+
<artifactId>jackson-datatype-jsr310</artifactId>
330+
</exclusion>
331+
</exclusions>
332+
</dependency>
333+
<dependency>
334+
<groupId>com.fasterxml.jackson.datatype</groupId>
335+
<artifactId>jackson-datatype-jsr310</artifactId>
336+
<version>2.21.2</version>
337+
<exclusions>
338+
<exclusion>
339+
<groupId>com.fasterxml.jackson.core</groupId>
340+
<artifactId>jackson-core</artifactId>
341+
</exclusion>
342+
<exclusion>
343+
<groupId>com.fasterxml.jackson.core</groupId>
344+
<artifactId>jackson-annotations</artifactId>
345+
</exclusion>
346+
<exclusion>
347+
<groupId>com.fasterxml.jackson.core</groupId>
348+
<artifactId>jackson-databind</artifactId>
349+
</exclusion>
350+
</exclusions>
351+
</dependency>
352+
</dependencies>
353+
</project>

documentation/modules/snip-images.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
|Kafka
1010
a|
1111
* {DockerOrg}/kafka:{DockerTag}-kafka-4.2.0
12+
* {DockerOrg}/kafka:{DockerTag}-kafka-4.2.1
1213
* {DockerOrg}/kafka:{DockerTag}-kafka-4.3.0
1314

1415
a|

kafka-versions.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,14 @@
291291
metadata: 4.2-IV1
292292
url: https://archive.apache.org/dist/kafka/4.2.0/kafka_2.13-4.2.0.tgz
293293
checksum: 16CE46E590BA915F01B720EA514445E49C88BF129CF4CEAB88878B122D54EF24F0DEDB88D0EB178957F58057A6C6A9ADBEA8B8059307585DAEA13129B85BA1D8
294-
third-party-libs: 4.2.x
294+
third-party-libs: 4.2.0
295+
supported: true
296+
default: false
297+
- version: 4.2.1
298+
metadata: 4.2-IV1
299+
url: https://archive.apache.org/dist/kafka/4.2.1/kafka_2.13-4.2.1.tgz
300+
checksum: F643E31266268E920AA98EAD9A061026C98DAC2886932AD468565BA59BCB7FB4F98A4C4F62727367E1BD87515F3B016E6F6CCCCAD8B12BDEF8B091B0FB577170
301+
third-party-libs: 4.2.1
295302
supported: true
296303
default: false
297304
- version: 4.3.0

0 commit comments

Comments
 (0)