Skip to content

Commit a648933

Browse files
committed
Merge branch 'main' into chore/spark-1080
2 parents 36c9024 + 73dcb3f commit a648933

File tree

10 files changed

+476
-42
lines changed

10 files changed

+476
-42
lines changed

.github/workflows/mirror.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ on:
1414
- registry.k8s.io/sig-storage/csi-node-driver-registrar
1515
- registry.k8s.io/sig-storage/csi-provisioner
1616
- registry.k8s.io/git-sync/git-sync
17+
- registry-1.docker.io/library/golang
1718
image-index-manifest-tag:
1819
description: |
1920
The image index manifest tag, like 1.0.14 or v1.0.14

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,25 @@ All notable changes to this project will be documented in this file.
2323
`check-permissions-ownership.sh` provided in stackable-base image ([#1027]).
2424
- opa: check for correct permissions and ownerships in /stackable folder via
2525
`check-permissions-ownership.sh` provided in stackable-base image ([#1038]).
26+
- opa: Add `1.4.2` ([#1103]).
2627
- spark-k8s: check for correct permissions and ownerships in /stackable folder via
2728
`check-permissions-ownership.sh` provided in stackable-base image ([#1055]).
2829
- superset: check for correct permissions and ownerships in /stackable folder via
2930
`check-permissions-ownership.sh` provided in stackable-base image ([#1053]).
31+
- superset: Add version `4.1.2` ([#1102]).
3032
- trino: check for correct permissions and ownerships in /stackable folder via
3133
`check-permissions-ownership.sh` provided in stackable-base image ([#1025]).
3234
- zookeeper: check for correct permissions and ownerships in /stackable folder via
3335
`check-permissions-ownership.sh` provided in stackable-base image ([#1043]).
36+
- nifi: Add [nifi-iceberg-bundle](https://github.com/stackabletech/nifi-iceberg-bundle) for NiFi `2.2.0` ([#1060], [#1106]).
3437
- java: Add JDK 24 ([#1097]).
38+
- ci: Add golang image to mirror workflow ([#1103]).
3539

3640
### Changed
3741

3842
- ubi-rust-builder: Bump Rust toolchain to 1.85.0, cargo-cyclonedx to 0.5.7, and cargo-auditable to 0.6.6 ([#1050]).
3943
- ubi9-rust-builder: Bump base image and update protoc to `30.2` ([#1091]).
44+
- stackable-devel: Bump ubi9 base image ([#1103]).
4045
- spark-k8s: Include spark-connect jars, replace OpenJDK with Temurin JDK, cleanup ([#1034]).
4146
- spark-connect-client: Image is now completely based on spark-k8s and includes JupyterLab and other demo dependencies ([#1071]).
4247
- jmx_exporter: Bump products to use `1.2.0` ([#1090]).
@@ -56,6 +61,7 @@ All notable changes to this project will be documented in this file.
5661
- Add `--locked` flag to `cargo install` commands for reproducible builds ([#1044]).
5762
- nifi: reduce docker image size by removing the recursive chown/chmods in the final image ([#1027]).
5863
- opa: reduce docker image size by removing the recursive chown/chmods in the final image ([#1038]).
64+
- opa: Manually install Go 1.23.9 ([#1103]).
5965
- spark-k8s: reduce docker image size by removing the recursive chown/chmods in the final image ([#1042]).
6066
- trino: reduce docker image size by removing the recursive chown/chmods in the final image ([#1025]).
6167
- zookeeper: reduce docker image size by removing the recursive chown/chmods in the final image ([#1043]).
@@ -68,6 +74,8 @@ All notable changes to this project will be documented in this file.
6874
- zookeeper: Remove 3.9.2 ([#1093]).
6975
- Remove ubi8-rust-builder image ([#1091]).
7076
- spark: remove 3.5.2 ([#1094])
77+
- opa: Remove `0.67.1` ([#1103]).
78+
- opa: Remove legacy bundle-builder from container build ([#1103]).
7179

7280
[#1025]: https://github.com/stackabletech/docker-images/pull/1025
7381
[#1027]: https://github.com/stackabletech/docker-images/pull/1027
@@ -87,12 +95,16 @@ All notable changes to this project will be documented in this file.
8795
[#1054]: https://github.com/stackabletech/docker-images/pull/1054
8896
[#1055]: https://github.com/stackabletech/docker-images/pull/1055
8997
[#1056]: https://github.com/stackabletech/docker-images/pull/1056
98+
[#1060]: https://github.com/stackabletech/docker-images/pull/1060
9099
[#1090]: https://github.com/stackabletech/docker-images/pull/1090
91100
[#1091]: https://github.com/stackabletech/docker-images/pull/1091
92101
[#1093]: https://github.com/stackabletech/docker-images/pull/1093
93102
[#1094]: https://github.com/stackabletech/docker-images/pull/1094
94103
[#1097]: https://github.com/stackabletech/docker-images/pull/1097
95104
[#1098]: https://github.com/stackabletech/docker-images/pull/1098
105+
[#1102]: https://github.com/stackabletech/docker-images/pull/1102
106+
[#1103]: https://github.com/stackabletech/docker-images/pull/1103
107+
[#1106]: https://github.com/stackabletech/docker-images/pull/1106
96108

97109
## [25.3.0] - 2025-03-21
98110

java-base/versions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@
2525
},
2626
{
2727
"product": "24",
28-
"vector": "0.43.1",
28+
"vector": "0.46.1",
2929
},
3030
]

nifi/Dockerfile

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,47 @@ rm -rf /stackable/nifi-${PRODUCT}/docs
6363
chmod -R g=u /stackable
6464
EOF
6565

66+
FROM stackable/image/java-devel AS nifi-iceberg-bundle-builder
67+
68+
ARG NIFI_ICEBERG_BUNDLE
69+
ARG PRODUCT
70+
ARG STACKABLE_USER_UID
71+
72+
USER ${STACKABLE_USER_UID}
73+
WORKDIR /build
74+
75+
RUN <<EOF
76+
mkdir -p /stackable
77+
78+
# NiFI 1.x natively supports Iceberg, no need to build an iceberg-bundle for it
79+
if [[ "${PRODUCT}" != 1.* ]] ; then
80+
curl "https://github.com/stackabletech/nifi-iceberg-bundle/archive/refs/tags/${NIFI_ICEBERG_BUNDLE}.tar.gz" | tar -xzC .
81+
cd nifi-iceberg-bundle-${NIFI_ICEBERG_BUNDLE} || exit
82+
83+
mvn \
84+
--batch-mode \
85+
--no-transfer-progress\
86+
clean package \
87+
-D nifi.version=${PRODUCT} \
88+
-Dmaven.javadoc.skip=true \
89+
-Denforcer.skip=true
90+
# We need "-Denforcer.skip=true", as the Maven version is too old
91+
92+
cp ./nifi-iceberg-services-api-nar/target/nifi-iceberg-services-api-nar-${NIFI_ICEBERG_BUNDLE}.nar /stackable
93+
cp ./nifi-iceberg-services-nar/target/nifi-iceberg-services-nar-${NIFI_ICEBERG_BUNDLE}.nar /stackable
94+
cp ./nifi-iceberg-processors-nar/target/nifi-iceberg-processors-nar-${NIFI_ICEBERG_BUNDLE}.nar /stackable
95+
cp ./target/bom.json /stackable/nifi-iceberg-bundle.sbom.json
96+
97+
cd ..
98+
# Save disk space, even for intermediate images
99+
rm -rf nifi-iceberg-bundle-${NIFI_ICEBERG_BUNDLE}
100+
101+
# Set correct groups
102+
chmod g=u /stackable/*.nar
103+
chmod g=u /stackable/*.sbom.json
104+
fi
105+
EOF
106+
66107
FROM stackable/image/java-base AS final
67108

68109
ARG PRODUCT
@@ -79,6 +120,8 @@ LABEL name="Apache NiFi" \
79120

80121
COPY --chown=${STACKABLE_USER_UID}:0 --from=nifi-builder /stackable/nifi-${PRODUCT} /stackable/nifi-${PRODUCT}/
81122
COPY --chown=${STACKABLE_USER_UID}:0 --from=nifi-builder /stackable/stackable-bcrypt.jar /stackable/stackable-bcrypt.jar
123+
COPY --chown=${STACKABLE_USER_UID}:0 --from=nifi-iceberg-bundle-builder /stackable/*.nar /stackable/nifi-${PRODUCT}/lib/
124+
COPY --chown=${STACKABLE_USER_UID}:0 --from=nifi-iceberg-bundle-builder /stackable/*.sbom.json /stackable/nifi-${PRODUCT}/lib/
82125

83126
COPY --chown=${STACKABLE_USER_UID}:0 nifi/stackable/bin /stackable/bin
84127
COPY --chown=${STACKABLE_USER_UID}:0 nifi/licenses /licenses

nifi/versions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@
1313
"product": "2.2.0",
1414
"java-base": "21",
1515
"java-devel": "21",
16+
"nifi_iceberg_bundle": "0.0.3",
1617
},
1718
]

opa/Dockerfile

Lines changed: 7 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,9 @@
11
# syntax=docker/dockerfile:1.10.0@sha256:865e5dd094beca432e8c0a1d5e1c465db5f998dca4e439981029b3b81fb39ed5
2-
# check=error=true
2+
# check=error=true;skip=InvalidDefaultArgInFrom
33

4-
FROM stackable/image/stackable-base AS opa-bundle-builder
4+
ARG GOLANG
55

6-
ARG BUNDLE_BUILDER_VERSION
7-
8-
# Update image and install everything needed for Rustup & Rust
9-
RUN <<EOF
10-
microdnf update
11-
microdnf install \
12-
cmake \
13-
gcc \
14-
gcc-c++ \
15-
git \
16-
make \
17-
openssl-devel \
18-
pkg-config \
19-
systemd-devel \
20-
unzip
21-
rm -rf /var/cache/yum
22-
EOF
23-
24-
WORKDIR /
25-
26-
# WARNING (@NickLarsenNZ): We should pin the rustup version
27-
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
28-
RUN git clone --depth 1 --branch ${BUNDLE_BUILDER_VERSION} https://github.com/stackabletech/opa-bundle-builder
29-
RUN <<EOF
30-
cd ./opa-bundle-builder
31-
. "$HOME/.cargo/env"
32-
rustup toolchain install
33-
cargo --quiet build --release
34-
# set correct groups
35-
chmod -R g=u /opa-bundle-builder/target/release/
36-
EOF
6+
FROM oci.stackable.tech/sdp/library/golang:${GOLANG} AS golang-image
377

388
FROM stackable/image/stackable-base AS multilog-builder
399

@@ -81,19 +51,21 @@ ENV GOOS=$TARGETOS
8151

8252
# gzip, tar - used to unpack the OPA source
8353
# git - needed by the cyclonedx-gomod tool to determine the version of OPA
84-
# golang - used to build OPA
8554
RUN <<EOF
8655
microdnf update
8756
microdnf install \
8857
git \
89-
golang \
9058
gzip \
9159
tar
9260
microdnf clean all
9361
EOF
9462

9563
COPY --chown=${STACKABLE_USER_UID}:0 opa/stackable/bin /stackable/opa/bin
9664

65+
# Manually install Go since the dnf package is sometimes not recent enough
66+
COPY --from=golang-image /usr/local/go/ /usr/local/go/
67+
ENV PATH="/usr/local/go/bin:${PATH}"
68+
9769
RUN <<EOF
9870
# We use version 1.7.0, since a newer version of cyclonedx-gomod is not compatible with the version of Golang (>= 1.23.1)
9971
go install github.com/CycloneDX/cyclonedx-gomod/cmd/[email protected]
@@ -137,7 +109,6 @@ LABEL name="Open Policy Agent" \
137109
COPY --chown=${STACKABLE_USER_UID}:0 opa/licenses /licenses
138110

139111
COPY --from=opa-builder --chown=${STACKABLE_USER_UID}:0 /stackable/opa /stackable/opa
140-
COPY --from=opa-bundle-builder --chown=${STACKABLE_USER_UID}:0 /opa-bundle-builder/target/release/stackable-opa-bundle-builder /stackable/opa-bundle-builder
141112
COPY --from=multilog-builder --chown=${STACKABLE_USER_UID}:0 /daemontools/admin/daemontools/command/multilog /stackable/multilog
142113

143114
RUN <<EOF

opa/versions.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
versions = [
22
{
3-
"product": "1.0.1",
3+
"product": "1.4.2",
44
"vector": "0.46.1",
5-
"bundle_builder_version": "1.1.2",
5+
"golang": "1.23.9",
66
"stackable-base": "1.0.0",
77
},
88
{
9-
"product": "0.67.1",
9+
"product": "1.0.1",
1010
"vector": "0.46.1",
11-
"bundle_builder_version": "1.1.2",
11+
"golang": "1.23.9",
1212
"stackable-base": "1.0.0",
1313
},
1414
]

stackable-devel/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# Find the latest version at https://catalog.redhat.com/software/containers/ubi9/ubi-minimal/615bd9b4075b022acc111bf5?container-tabs=gti
99
# IMPORTANT: Make sure to use the "Manifest List Digest" that references the images for multiple architectures
1010
# rather than just the "Image Digest" that references the image for the selected architecture.
11-
FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:c0e70387664f30cd9cf2795b547e4a9a51002c44a4a86aa9335ab030134bf392
11+
FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:e1c4703364c5cb58f5462575dc90345bcd934ddc45e6c32f9c162f2b5617681c
1212

1313
# intentionally unused
1414
ARG PRODUCT

0 commit comments

Comments
 (0)