Skip to content

Commit 4ad9e03

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/opensearch
2 parents f3216f5 + d40bf9e commit 4ad9e03

File tree

23 files changed

+195
-267
lines changed

23 files changed

+195
-267
lines changed

.github/workflows/mirror.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
echo "IMAGE_REPOSITORY=$(.scripts/get_repo_name.sh)" | tee -a "$GITHUB_ENV"
5858
5959
- name: Publish Container Image on oci.stackable.tech
60-
uses: stackabletech/actions/publish-image@9aae2d1c14239021bfa33c041010f6fb7adec815 # 0.8.2
60+
uses: stackabletech/actions/publish-image@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
6161
with:
6262
image-registry-uri: oci.stackable.tech
6363
image-registry-username: robot$sdp+github-action-build
@@ -84,7 +84,7 @@ jobs:
8484
echo "IMAGE_REPOSITORY=$(.scripts/get_repo_name.sh)" | tee -a "$GITHUB_ENV"
8585
8686
- name: Publish and Sign Image Index Manifest to oci.stackable.tech
87-
uses: stackabletech/actions/publish-index-manifest@9aae2d1c14239021bfa33c041010f6fb7adec815 # 0.8.2
87+
uses: stackabletech/actions/publish-index-manifest@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
8888
with:
8989
image-registry-uri: oci.stackable.tech
9090
image-registry-username: robot$sdp+github-action-build

.github/workflows/pr_pre-commit.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
with:
1717
persist-credentials: false
1818
fetch-depth: 0
19-
- uses: stackabletech/actions/run-pre-commit@9aae2d1c14239021bfa33c041010f6fb7adec815 # 0.8.2
19+
- uses: stackabletech/actions/run-pre-commit@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
2020
with:
2121
python-version: ${{ env.PYTHON_VERSION }}
2222
hadolint: ${{ env.HADOLINT_VERSION }}

.github/workflows/reusable_build_image.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
with:
2828
persist-credentials: false
2929
- id: shard
30-
uses: stackabletech/actions/shard@9aae2d1c14239021bfa33c041010f6fb7adec815 # 0.8.2
30+
uses: stackabletech/actions/shard@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
3131
with:
3232
product-name: ${{ inputs.product-name }}
3333
outputs:
@@ -53,18 +53,18 @@ jobs:
5353
persist-credentials: false
5454

5555
- name: Free Disk Space
56-
uses: stackabletech/actions/free-disk-space@9aae2d1c14239021bfa33c041010f6fb7adec815 # 0.8.2
56+
uses: stackabletech/actions/free-disk-space@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
5757

5858
- name: Build Product Image
5959
id: build
60-
uses: stackabletech/actions/build-product-image@9aae2d1c14239021bfa33c041010f6fb7adec815 # 0.8.2
60+
uses: stackabletech/actions/build-product-image@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
6161
with:
6262
product-name: ${{ inputs.product-name }}
6363
product-version: ${{ matrix.versions }}
6464
sdp-version: ${{ inputs.sdp-version }}
6565

6666
- name: Publish Container Image on oci.stackable.tech
67-
uses: stackabletech/actions/publish-image@9aae2d1c14239021bfa33c041010f6fb7adec815 # 0.8.2
67+
uses: stackabletech/actions/publish-image@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
6868
with:
6969
image-registry-uri: oci.stackable.tech
7070
image-registry-username: robot$${{ inputs.registry-namespace }}+github-action-build
@@ -90,7 +90,7 @@ jobs:
9090
persist-credentials: false
9191

9292
- name: Publish and Sign Image Index Manifest to oci.stackable.tech
93-
uses: stackabletech/actions/publish-index-manifest@9aae2d1c14239021bfa33c041010f6fb7adec815 # 0.8.2
93+
uses: stackabletech/actions/publish-index-manifest@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
9494
with:
9595
image-registry-uri: oci.stackable.tech
9696
image-registry-username: robot$${{ inputs.registry-namespace }}+github-action-build

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ All notable changes to this project will be documented in this file.
2222
- spark-connect-client: A new image for Spark connect tests and demos ([#1034])
2323
- kafka: check for correct permissions and ownerships in /stackable folder via
2424
`check-permissions-ownership.sh` provided in stackable-base image ([#1041]).
25+
- kafka: build kafka-opa-plugin from source ([#1177]).
2526
- nifi: check for correct permissions and ownerships in /stackable folder via
2627
`check-permissions-ownership.sh` provided in stackable-base image ([#1027]).
2728
- nifi: Add [nifi-iceberg-bundle] for NiFi `2.4.0` ([#1060], [#1106]).
@@ -90,6 +91,7 @@ All notable changes to this project will be documented in this file.
9091
- opa: Enable custom versions ([#1170]).
9192
- use custom product versions for Hadoop, HBase, Phoenix, hbase-operator-tools, Druid, Hive and Spark ([#1173]).
9293
- hbase: Bump dependencies to the latest patch level for HBase `2.6.1` and `2.6.2` ([#1185]).
94+
- Changed default user & group IDs from 1000/1000 to 782252253/574654813 ([#1164])
9395

9496
### Fixed
9597

@@ -112,6 +114,8 @@ All notable changes to this project will be documented in this file.
112114
- ubi9-rust-builder: Use pinned `rustup` version ([#1121]).
113115
- hive: Patch for postgres CVE-2024-1597 ([#1100]).
114116
- bump image-tools (for `bake`) and nixpkgs (for `nodejs_20`, used by pre-commit) ([#1100]).
117+
- bump image-tools (for `bake`) to fix `RELEASE` arg ([#1188]).
118+
- nifi: automatically determine NiFi version create reporting task script ([#1189]).
115119

116120
### Removed
117121

@@ -131,6 +135,7 @@ All notable changes to this project will be documented in this file.
131135
- nifi: Remove `2.2.0` ([#1114]).
132136
- kafka: Remove `3.7.1` and `3.8.0` ([#1117]).
133137
- spark-connect-client: Remove `3.5.5` ([#1142]).
138+
- nifi: Enable custom versions ([#1172]).
134139
- kafka: Enable custom versions ([#1171]).
135140
- omid: Enable custom versions ([#1174]).
136141

@@ -195,17 +200,21 @@ All notable changes to this project will be documented in this file.
195200
[#1152]: https://github.com/stackabletech/docker-images/pull/1152
196201
[#1156]: https://github.com/stackabletech/docker-images/pull/1156
197202
[#1163]: https://github.com/stackabletech/docker-images/pull/1163
203+
[#1164]: https://github.com/stackabletech/docker-images/pull/1164
198204
[#1165]: https://github.com/stackabletech/docker-images/pull/1165
199205
[#1168]: https://github.com/stackabletech/docker-images/pull/1168
200206
[#1169]: https://github.com/stackabletech/docker-images/pull/1169
201207
[#1170]: https://github.com/stackabletech/docker-images/pull/1170
202208
[#1171]: https://github.com/stackabletech/docker-images/pull/1171
203209
[#1173]: https://github.com/stackabletech/docker-images/pull/1173
204210
[#1174]: https://github.com/stackabletech/docker-images/pull/1174
211+
[#1177]: https://github.com/stackabletech/docker-images/pull/1177
205212
[#1179]: https://github.com/stackabletech/docker-images/pull/1179
206213
[#1180]: https://github.com/stackabletech/docker-images/pull/1180
207214
[#1184]: https://github.com/stackabletech/docker-images/pull/1184
208215
[#1185]: https://github.com/stackabletech/docker-images/pull/1185
216+
[#1188]: https://github.com/stackabletech/docker-images/pull/1188
217+
[#1189]: https://github.com/stackabletech/docker-images/pull/1189
209218

210219
## [25.3.0] - 2025-03-21
211220

conf.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
trino_storage_connector = importlib.import_module("trino.storage-connector.versions")
4141
kafka_testing_tools = importlib.import_module("kafka-testing-tools.versions")
4242
kcat = importlib.import_module("kafka.kcat.versions")
43+
kafka_opa_plugin = importlib.import_module("kafka.kafka-opa-plugin.versions")
4344
testing_tools = importlib.import_module("testing-tools.versions")
4445
zookeeper = importlib.import_module("zookeeper.versions")
4546
tools = importlib.import_module("tools.versions")
@@ -77,6 +78,7 @@
7778
{"name": "trino/storage-connector", "versions": trino_storage_connector.versions},
7879
{"name": "kafka-testing-tools", "versions": kafka_testing_tools.versions},
7980
{"name": "kafka/kcat", "versions": kcat.versions},
81+
{"name": "kafka/kafka-opa-plugin", "versions": kafka_opa_plugin.versions},
8082
{"name": "testing-tools", "versions": testing_tools.versions},
8183
{"name": "zookeeper", "versions": zookeeper.versions},
8284
{"name": "tools", "versions": tools.versions},
@@ -112,7 +114,7 @@
112114

113115
args = {
114116
"STACKABLE_USER_NAME": "stackable",
115-
"STACKABLE_USER_UID": "1000",
116-
"STACKABLE_USER_GID": "1000",
117+
"STACKABLE_USER_UID": "782252253", # This is a random high id to not conflict with any existing user
118+
"STACKABLE_USER_GID": "574654813", # This is a random high id to not conflict with any existing group
117119
"DELETE_CACHES": "true",
118120
}

druid/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ COPY --chown=${STACKABLE_USER_UID}:0 druid/stackable/patches/${PRODUCT} /stackab
4141

4242
COPY --from=hadoop-builder --chown=${STACKABLE_USER_UID}:0 /stackable/patched-libs /stackable/patched-libs
4343
# Cache mounts are owned by root by default
44-
# We need to explicitly give the uid to use which is hardcoded to "1000" in stackable-base
44+
# We need to explicitly give the uid to use.
4545
# The cache id has to include the product version that we are building because otherwise
4646
# docker encounters race conditions when building multiple versions in parallel, as all
4747
# builder containers will share the same cache and the `rm -rf` commands will fail

java-devel/Dockerfile

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -23,40 +23,40 @@ gpgcheck=1
2323
gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
2424
EOF
2525

26-
RUN microdnf update && \
27-
microdnf install -y \
28-
cmake \
29-
cyrus-sasl-devel \
30-
# diff is required by maven during the build of hbase \
31-
# Cannot run program "diff" (in directory "/stackable/hbase-2.4.12-src/hbase-shaded/hbase-shaded-check-invariants"
32-
diffutils \
33-
fuse-devel \
34-
gcc \
35-
gcc-c++ \
36-
# The GNU gettext utilities contain the envsubst program which
37-
# substitutes the values of environment variables.
38-
gettext \
39-
# For the apply_patches.sh script
40-
git \
41-
# Needed by the maven ant run plugin for the "set-hostname-property" step in zookeeper
42-
hostname \
43-
# Needed for compiling Java projects
44-
"temurin-${PRODUCT}-jdk" \
45-
krb5-devel \
46-
libcurl-devel \
47-
make \
48-
maven \
49-
openssl-devel \
50-
# Required to unpack Omid tarball
51-
tar \
52-
wget \
53-
which \
54-
xz \
55-
zlib-devel \
56-
# Required for log4shell.sh
57-
unzip zip && \
58-
microdnf clean all && \
59-
rm -rf /var/cache/yum
26+
RUN <<EOF
27+
microdnf update
28+
microdnf install \
29+
cmake \
30+
cyrus-sasl-devel \
31+
`# diff is required by maven during the build of hbase` \
32+
`# Cannot run program "diff" (in directory "/stackable/hbase-2.4.12-src/hbase-shaded/hbase-shaded-check-invariants"` \
33+
diffutils \
34+
fuse-devel \
35+
gcc \
36+
gcc-c++ \
37+
`# The GNU gettext utilities contain the envsubst program which` \
38+
`# substitutes the values of environment variables.` \
39+
gettext \
40+
`# For the apply_patches.sh script`\
41+
git \
42+
`# Needed by the maven ant run plugin for the "set-hostname-property" step in zookeeper` \
43+
hostname \
44+
`# Needed for compiling Java projects` \
45+
"temurin-${PRODUCT}-jdk" \
46+
krb5-devel \
47+
libcurl-devel \
48+
make \
49+
maven \
50+
openssl-devel \
51+
`# Required to unpack Omid tarball` \
52+
tar \
53+
wget \
54+
which \
55+
xz \
56+
zlib-devel
57+
microdnf clean all
58+
rm -rf /var/cache/yum
59+
EOF
6060

6161
ENV JAVA_HOME="/usr/lib/jvm/temurin-${PRODUCT}-jdk"
6262

kafka/Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
# check=error=true
33

44
FROM stackable/image/kafka/kcat AS kcat
5+
FROM stackable/image/kafka/kafka-opa-plugin AS kafka-opa-plugin
56

67
FROM stackable/image/java-devel AS kafka-builder
78

89
ARG PRODUCT
910
ARG RELEASE
1011
ARG SCALA
11-
ARG OPA_AUTHORIZER
1212
ARG JMX_EXPORTER
1313
ARG STACKABLE_USER_UID
1414

@@ -40,10 +40,6 @@ cp build/reports/bom.json /stackable/kafka_${SCALA}-${NEW_VERSION}.cdx.json
4040
rm -rf /stackable/kafka_${SCALA}-${NEW_VERSION}/site-docs/
4141
(cd .. && rm -rf ${PRODUCT})
4242

43-
# TODO (@NickLarsenNZ): Compile from source: https://github.com/StyraInc/opa-kafka-plugin
44-
curl https://repo.stackable.tech/repository/packages/kafka-opa-authorizer/opa-authorizer-${OPA_AUTHORIZER}-all.jar \
45-
-o /stackable/kafka_${SCALA}-${NEW_VERSION}/libs/opa-authorizer-${OPA_AUTHORIZER}-all.jar
46-
4743
# JMX exporter
4844
curl https://repo.stackable.tech/repository/packages/jmx-exporter/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar \
4945
-o /stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar
@@ -60,6 +56,7 @@ ARG RELEASE
6056
ARG PRODUCT
6157
ARG SCALA
6258
ARG KAFKA_KCAT
59+
ARG KAFKA_KAFKA_OPA_PLUGIN
6360
ARG STACKABLE_USER_UID
6461

6562
LABEL \
@@ -78,6 +75,8 @@ COPY --chown=${STACKABLE_USER_UID}:0 --from=kafka-builder /stackable/jmx/ /stack
7875
COPY --chown=${STACKABLE_USER_UID}:0 --from=kcat /stackable/kcat /stackable/bin/kcat-${KAFKA_KCAT}
7976
COPY --chown=${STACKABLE_USER_UID}:0 --from=kcat /stackable/kcat-${KAFKA_KCAT}-src.tar.gz /stackable
8077
COPY --chown=${STACKABLE_USER_UID}:0 --from=kcat /licenses /licenses
78+
COPY --chown=${STACKABLE_USER_UID}:0 --from=kafka-opa-plugin /stackable/src/kafka/kafka-opa-plugin/patchable-work/worktree/${KAFKA_KAFKA_OPA_PLUGIN}/build/libs/opa-authorizer-${KAFKA_KAFKA_OPA_PLUGIN}-all.jar /stackable/kafka_${SCALA}-${PRODUCT}-stackable${RELEASE}/libs/opa-authorizer-${KAFKA_KAFKA_OPA_PLUGIN}-all.jar
79+
COPY --chown=${STACKABLE_USER_UID}:0 --from=kafka-opa-plugin /stackable/kafka-opa-plugin-${KAFKA_KAFKA_OPA_PLUGIN}-src.tar.gz /stackable
8180

8281
COPY --chown=${STACKABLE_USER_UID}:0 kafka/licenses /licenses
8382

@@ -107,6 +106,7 @@ chown -h ${STACKABLE_USER_UID}:0 /stackable/kafka
107106
chmod g=u /stackable/bin
108107
chmod g=u /stackable/jmx
109108
chmod g=u /stackable/kafka_${SCALA}-${PRODUCT}-stackable${RELEASE}
109+
chmod g=u /stackable/kafka_${SCALA}-${PRODUCT}-stackable${RELEASE}/libs/opa-authorizer-${KAFKA_KAFKA_OPA_PLUGIN}-all.jar
110110
chmod g=u /stackable/*-src.tar.gz
111111
EOF
112112

kafka/kafka-opa-plugin/Dockerfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# syntax=docker/dockerfile:1.16.0@sha256:e2dd261f92e4b763d789984f6eab84be66ab4f5f08052316d8eb8f173593acf7
2+
# check=error=true
3+
4+
FROM stackable/image/java-devel
5+
6+
ARG PRODUCT
7+
ARG STACKABLE_USER_UID
8+
9+
USER ${STACKABLE_USER_UID}
10+
WORKDIR /stackable
11+
12+
COPY --chown=${STACKABLE_USER_UID}:0 kafka/kafka-opa-plugin/stackable/patches/patchable.toml /stackable/src/kafka/kafka-opa-plugin/stackable/patches/patchable.toml
13+
COPY --chown=${STACKABLE_USER_UID}:0 kafka/kafka-opa-plugin/stackable/patches/${PRODUCT} /stackable/src/kafka/kafka-opa-plugin/stackable/patches/${PRODUCT}
14+
15+
RUN <<EOF
16+
cd "$(/stackable/patchable --images-repo-root=src checkout kafka/kafka-opa-plugin ${PRODUCT})"
17+
18+
# Create snapshot of the source code including custom patches
19+
tar -czf /stackable/kafka-opa-plugin-${PRODUCT}-src.tar.gz .
20+
21+
./gradlew clean shadowJar
22+
EOF
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
mirror = "https://github.com/stackabletech/opa-kafka-plugin"
2+
base = "d2c7851cb66dde7903eb4f0d5fab40f1a3d434a4"

0 commit comments

Comments
 (0)