Skip to content

Commit 56daec4

Browse files
committed
Merge branch 'main' into feat/airflow-3-opa
2 parents 9b231ca + ab18af7 commit 56daec4

File tree

8 files changed

+62
-49
lines changed

8 files changed

+62
-49
lines changed

.github/workflows/build_kafka-testing-tools.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313
paths:
1414
# To check dependencies, run this ( you will need to consider transitive dependencies)
1515
# bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
16-
- kcat/**
16+
- kafka/kcat/**
1717
- kafka-testing-tools/**
1818
- vector/**
1919
- stackable-base/**

.github/workflows/build_kafka.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ on:
1313
paths:
1414
# To check dependencies, run this ( you will need to consider transitive dependencies)
1515
# bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
16-
- kcat/**
1716
- kafka/**
1817
- kafka-testing-tools/**
1918
- vector/**

.github/workflows/build_kcat.yaml

Lines changed: 0 additions & 35 deletions
This file was deleted.

.scripts/update_readme_badges.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,10 @@ for BUILD_WORKFLOW_FILE in .github/workflows/build_*.yaml; do
5656
done
5757
# This needs to add the remaning empty columns of the last row in the table
5858
# This is a hack to fix the status quo and make markdownlint happy.
59-
echo -n "| | | |" >> "$BADGES_TMP"
60-
echo >> "$BADGES_TMP"
59+
for _ in $(seq 0 $((COLS - 1))); do
60+
echo -n "| " >> "$BADGES_TMP"
61+
done
62+
echo "|" >> "$BADGES_TMP"
6163
echo -n "<!-- end:badges -->" >> "$BADGES_TMP"
6264

6365
# Print the image and link shortcuts. Eg:

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ All notable changes to this project will be documented in this file.
6262
- vector: Bump to `0.46.1` ([#1098]).
6363
- spark: update dependencies for 3.5.5 ([#1094])
6464
- nifi: include NAR SBOMs ([#1119])
65+
- nifi: update patch allowing to bypass host header validation starting with NiFi 2.4.0 ([#1125]).
66+
- BREAKING: kcat: Stop building kcat image ([#1124]).
6567

6668
### Fixed
6769

@@ -140,6 +142,8 @@ All notable changes to this project will be documented in this file.
140142
[#1119]: https://github.com/stackabletech/docker-images/pull/1119
141143
[#1121]: https://github.com/stackabletech/docker-images/pull/1121
142144
[#1122]: https://github.com/stackabletech/docker-images/pull/1122
145+
[#1124]: https://github.com/stackabletech/docker-images/pull/1124
146+
[#1125]: https://github.com/stackabletech/docker-images/pull/1125
143147

144148
## [25.3.0] - 2025-03-21
145149

README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ This repository contains Dockerfiles and scripts to build base images for use wi
77
| -: | -: | -: | -: |
88
| [![Build Airflow]][build_airflow.yaml] | [![Build Druid]][build_druid.yaml] | [![Build Hadoop]][build_hadoop.yaml] | [![Build HBase]][build_hbase.yaml] |
99
| [![Build Hello-World]][build_hello-world.yaml] | [![Build Hive]][build_hive.yaml] | [![Build Java Base]][build_java-base.yaml] | [![Build Java Development]][build_java-devel.yaml] |
10-
| [![Build Kafka Testing Tools]][build_kafka-testing-tools.yaml] | [![Build Kafka]][build_kafka.yaml] | [![Build kcat]][build_kcat.yaml] | [![Build Krb5]][build_krb5.yaml] |
11-
| [![Build NiFi]][build_nifi.yaml] | [![Build Omid]][build_omid.yaml] | [![Build OPA]][build_opa.yaml] | [![Build Spark Connect Client]][build_spark-connect-client.yaml] |
12-
| [![Build Spark K8s]][build_spark-k8s.yaml] | [![Build Stackable Base]][build_stackable-base.yaml] | [![Build Superset]][build_superset.yaml] | [![Build Testing Tools]][build_testing-tools.yaml] |
13-
| [![Build Tools]][build_tools.yaml] | [![Build Trino CLI]][build_trino-cli.yaml] | [![Build Trino]][build_trino.yaml] | [![Build Vector]][build_vector.yaml] |
14-
| [![Build ZooKeeper]][build_zookeeper.yaml] | | | |
10+
| [![Build Kafka Testing Tools]][build_kafka-testing-tools.yaml] | [![Build Kafka]][build_kafka.yaml] | [![Build Krb5]][build_krb5.yaml] | [![Build NiFi]][build_nifi.yaml] |
11+
| [![Build Omid]][build_omid.yaml] | [![Build OPA]][build_opa.yaml] | [![Build Spark Connect Client]][build_spark-connect-client.yaml] | [![Build Spark K8s]][build_spark-k8s.yaml] |
12+
| [![Build Stackable Base]][build_stackable-base.yaml] | [![Build Superset]][build_superset.yaml] | [![Build Testing Tools]][build_testing-tools.yaml] | [![Build Tools]][build_tools.yaml] |
13+
| [![Build Trino CLI]][build_trino-cli.yaml] | [![Build Trino]][build_trino.yaml] | [![Build Vector]][build_vector.yaml] | [![Build ZooKeeper]][build_zookeeper.yaml] |
14+
| | | | |
1515
<!-- end:badges -->
1616

1717
## Prerequisites
@@ -234,8 +234,6 @@ ENTRYPOINT ["/stackable-zookeeper-operator"]
234234
[build_kafka-testing-tools.yaml]: https://github.com/stackabletech/docker-images/actions/workflows/build_kafka-testing-tools.yaml
235235
[Build Kafka]: https://github.com/stackabletech/docker-images/actions/workflows/build_kafka.yaml/badge.svg
236236
[build_kafka.yaml]: https://github.com/stackabletech/docker-images/actions/workflows/build_kafka.yaml
237-
[Build kcat]: https://github.com/stackabletech/docker-images/actions/workflows/build_kcat.yaml/badge.svg
238-
[build_kcat.yaml]: https://github.com/stackabletech/docker-images/actions/workflows/build_kcat.yaml
239237
[Build Krb5]: https://github.com/stackabletech/docker-images/actions/workflows/build_krb5.yaml/badge.svg
240238
[build_krb5.yaml]: https://github.com/stackabletech/docker-images/actions/workflows/build_krb5.yaml
241239
[Build NiFi]: https://github.com/stackabletech/docker-images/actions/workflows/build_nifi.yaml/badge.svg

airflow/Dockerfile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,6 @@ ARG CYCLONEDX_BOM
3434
ARG UV
3535
ARG EXTRAS
3636

37-
COPY airflow/stackable/constraints/${PRODUCT}/constraints-python${PYTHON}.txt /tmp/constraints.txt
38-
COPY --from=opa-auth-manager-builder /tmp/opa-auth-manager/dist/opa_auth_manager-0.1.0-py3-none-any.whl /tmp/
39-
4037
# Airflow "extras" packages are listed here: https://airflow.apache.org/docs/apache-airflow/stable/extra-packages-ref.html
4138
# They evolve over time and thus belong to the version-specific arguments.
4239
# The mysql provider is currently excluded.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
From 5eb0363521dbb30e3e47ec8a604f5a5c678bf4fb Mon Sep 17 00:00:00 2001
2+
From: Benedikt Labrenz <[email protected]>
3+
Date: Thu, 22 May 2025 14:47:24 +0200
4+
Subject: disable host port validation if list of allowed hosts only contains
5+
'*'
6+
7+
---
8+
.../connector/FrameworkServerConnectorFactory.java | 13 +++++++++++--
9+
1 file changed, 11 insertions(+), 2 deletions(-)
10+
11+
diff --git a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/connector/FrameworkServerConnectorFactory.java b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/connector/FrameworkServerConnectorFactory.java
12+
index ec1bee66fb..b58c886f4f 100644
13+
--- a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/connector/FrameworkServerConnectorFactory.java
14+
+++ b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/connector/FrameworkServerConnectorFactory.java
15+
@@ -54,6 +54,8 @@ public class FrameworkServerConnectorFactory extends StandardServerConnectorFact
16+
17+
private final String excludeCipherSuites;
18+
19+
+ private final boolean disableHostPortValidator;
20+
+
21+
private final Set<Integer> validPorts;
22+
23+
private SslContextFactory.Server sslContextFactory;
24+
@@ -72,6 +74,11 @@ public class FrameworkServerConnectorFactory extends StandardServerConnectorFact
25+
headerSize = DataUnit.parseDataSize(properties.getWebMaxHeaderSize(), DataUnit.B).intValue();
26+
validPorts = getValidPorts(properties);
27+
28+
+ // Check if the property for allowed hosts has only the wildcard entry and
29+
+ // if so store this in disableHostPortValidator for later use
30+
+ List<String> configuredHostNames = properties.getAllowedHostsAsList();
31+
+ disableHostPortValidator = configuredHostNames.size() == 1 && configuredHostNames.contains("*");
32+
+
33+
if (properties.isHTTPSConfigured()) {
34+
if (properties.isClientAuthRequiredForRestApi()) {
35+
setNeedClientAuth(true);
36+
@@ -102,8 +109,10 @@ public class FrameworkServerConnectorFactory extends StandardServerConnectorFact
37+
// Add HostHeaderCustomizer to set Host Header for HTTP/2 and HostHeaderHandler
38+
httpConfiguration.addCustomizer(new HostHeaderCustomizer());
39+
40+
- final HostPortValidatorCustomizer hostPortValidatorCustomizer = new HostPortValidatorCustomizer(validPorts);
41+
- httpConfiguration.addCustomizer(hostPortValidatorCustomizer);
42+
+ if (!disableHostPortValidator) {
43+
+ final HostPortValidatorCustomizer hostPortValidatorCustomizer = new HostPortValidatorCustomizer(validPorts);
44+
+ httpConfiguration.addCustomizer(hostPortValidatorCustomizer);
45+
+ }
46+
47+
return httpConfiguration;
48+
}

0 commit comments

Comments
 (0)