Skip to content

Commit 34b967b

Browse files
authored
Add Kafka 4.1.2 (strimzi#12455)
Signed-off-by: see-quick <maros.orsak159@gmail.com>
1 parent 8a85ce2 commit 34b967b

8 files changed

Lines changed: 352 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
* Use the `v1` API as the _stored_ API version
77
* Remove the `v1beta2` API (and `v1alpha1` and `v1beta2` for `KafkaTopic` and `KafkaUser`) from the CRDs and fully move to the `v1` API
88
* Allow upgrading from unknown Apache Kafka versions (that might be used in Strimzi patch releases)
9+
* Add support for Kafka 4.1.2
910

1011
### Major changes, deprecations, and removals
1112

cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class KafkaVersionTestUtils {
3030
public static final String LATEST_KAFKA_CONNECT_IMAGE = KAFKA_CONNECT_IMAGE_STR + LATEST_KAFKA_VERSION;
3131
public static final String LATEST_KAFKA_MIRROR_MAKER_2_IMAGE = KAFKA_MIRROR_MAKER_2_IMAGE_STR + LATEST_KAFKA_VERSION;
3232

33-
public static final String PREVIOUS_KAFKA_VERSION = "4.1.1";
33+
public static final String PREVIOUS_KAFKA_VERSION = "4.1.2";
3434
public static final String PREVIOUS_FORMAT_VERSION = "4.1";
3535
public static final String PREVIOUS_PROTOCOL_VERSION = "4.1";
3636
public static final String PREVIOUS_METADATA_VERSION = "4.1-IV1";

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

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

documentation/modules/snip-images.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
a|
1111
* {DockerOrg}/kafka:{DockerTag}-kafka-4.1.0
1212
* {DockerOrg}/kafka:{DockerTag}-kafka-4.1.1
13+
* {DockerOrg}/kafka:{DockerTag}-kafka-4.1.2
1314
* {DockerOrg}/kafka:{DockerTag}-kafka-4.2.0
1415

1516
a|

kafka-versions.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,13 @@
280280
third-party-libs: 4.1.x
281281
supported: true
282282
default: false
283+
- version: 4.1.2
284+
metadata: 4.1
285+
url: https://archive.apache.org/dist/kafka/4.1.2/kafka_2.13-4.1.2.tgz
286+
checksum: 78AC6E488B1071122F9608DFDB363F6FE50E1DBBC492347002C0398DFBF77E0D8CAA5BF794C5937379721004DFE92025937D238B0FAF4EB715529417FD43B491
287+
third-party-libs: 4.1.2 # we need to use a separate 3rd party libs directory cause Kafka 4.1.2 is using log4j 2.25.3 and Jackson 2.19.4 rather than log4j 2.24.3 and Jackson 2.19.0 used by previous Kafka 4.1.x versions
288+
supported: true
289+
default: false
283290
- version: 4.2.0
284291
metadata: 4.2
285292
url: https://archive.apache.org/dist/kafka/4.2.0/kafka_2.13-4.2.0.tgz

packaging/helm-charts/helm3/strimzi-kafka-operator/templates/_kafka_image_map.tpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,18 @@
1313
value: |
1414
4.1.0={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-4.1.0")) }}
1515
4.1.1={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-4.1.1")) }}
16+
4.1.2={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-4.1.2")) }}
1617
4.2.0={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-4.2.0")) }}
1718
- name: STRIMZI_KAFKA_CONNECT_IMAGES
1819
value: |
1920
4.1.0={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-4.1.0")) }}
2021
4.1.1={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-4.1.1")) }}
22+
4.1.2={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-4.1.2")) }}
2123
4.2.0={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-4.2.0")) }}
2224
- name: STRIMZI_KAFKA_MIRROR_MAKER_2_IMAGES
2325
value: |
2426
4.1.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-4.1.0")) }}
2527
4.1.1={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-4.1.1")) }}
28+
4.1.2={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-4.1.2")) }}
2629
4.2.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-4.2.0")) }}
2730
{{- end -}}

0 commit comments

Comments
 (0)