Skip to content

Commit e3c5d75

Browse files
authored
Merge branch 'main' into feature/gaiaX-oidc
2 parents d817ccc + d308aee commit e3c5d75

File tree

33 files changed

+732
-285
lines changed

33 files changed

+732
-285
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nix/** linguist-generated

.scripts/get_manifest_digest.sh

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

.scripts/get_repo_digest.sh

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

CHANGELOG.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ All notable changes to this project will be documented in this file.
1616
- trino: Add version `455` ([#822]).
1717
- trino-cli: Add version `455` ([#822]).
1818
- spark: Add version `3.5.2` ([#848]).
19-
- statsd-exporter: Bump version to 0.27.1 ([#866], [#879]).
19+
- statsd-exporter: Bump version to `0.27.1` ([#866], [#879]).
2020
- hadoop: Add patch "HADOOP-18516: Support Fixed SAS Token for ABFS Authentication" ([#852]).
2121
- hbase: Add hadoop-azure.jar to the lib directory to support the Azure Blob Filesystem and
2222
the Azure Data Lake Storage ([#853]).
@@ -27,8 +27,11 @@ All notable changes to this project will be documented in this file.
2727

2828
- ci: Rename local actions, adjust action inputs and outputs, add definition
2929
README file ([#819]).
30-
- Update cargo-cyclonedx to 0.5.5 and build CycloneDX 1.5 files ([#783])
31-
- Enable [Docker build checks](https://docs.docker.com/build/checks/) ([#872])
30+
- Update cargo-cyclonedx to 0.5.5 and build CycloneDX 1.5 files ([#783]).
31+
- Enable [Docker build checks](https://docs.docker.com/build/checks/) ([#872]).
32+
- java: migrate to temurin jdk/jre ([#894]).
33+
- tools: bump kubectl to `1.31.1` and jq to `1.7.1` ([#896]).
34+
- Make username, user id, group id configurable, use numeric ids everywhere, change group of all files to 0 ([#849], [#890]).
3235

3336
### Removed
3437

@@ -38,13 +41,14 @@ All notable changes to this project will be documented in this file.
3841
- kafka: Remove versions `3.4.1`, `3.6.1`, `3.6.2` ([#813]).
3942
- trino: Remove versions `414`, `442` ([#822]).
4043
- trino-cli: Remove version `451` ([#822]).
41-
- hbase: Remove 2.4.17 ([#846]).
42-
- omid: Remove 1.1.0 and 1.1.1 ([#846]).
43-
- spark: Remove 3.4.2 and 3.4.3 ([#848]).
44-
- statsd-exporter: Remove 0.26.1 ([#866]).
45-
- superset: Remove 2.1.3, 3.1.0 and 3.1.3 ([#866]).
46-
- zookeeper: Remove 3.8.4 ([#851]).
47-
- nifi: Remove 1.21.0 and 1.25.0 ([#868]).
44+
- hbase: Remove `2.4.17` ([#846]).
45+
- omid: Remove `1.1.0` and `1.1.1` ([#846]).
46+
- spark: Remove `3.4.2` and `3.4.3` ([#848]).
47+
- statsd-exporter: Remove `0.26.1` ([#866]).
48+
- superset: Remove `2.1.3`, `3.1.0` and `3.1.3` ([#866]).
49+
- zookeeper: Remove `3.8.4` ([#851]).
50+
- nifi: Remove `1.21.0` and `1.25.0` ([#868]).
51+
- druid: Remove `28.0.1` ([#880]).
4852

4953
### Fixed
5054

@@ -63,6 +67,7 @@ All notable changes to this project will be documented in this file.
6367
[#822]: https://github.com/stackabletech/docker-images/pull/822
6468
[#846]: https://github.com/stackabletech/docker-images/pull/846
6569
[#848]: https://github.com/stackabletech/docker-images/pull/848
70+
[#849]: https://github.com/stackabletech/docker-images/pull/849
6671
[#851]: https://github.com/stackabletech/docker-images/pull/851
6772
[#852]: https://github.com/stackabletech/docker-images/pull/852
6873
[#853]: https://github.com/stackabletech/docker-images/pull/853
@@ -74,8 +79,12 @@ All notable changes to this project will be documented in this file.
7479
[#877]: https://github.com/stackabletech/docker-images/pull/877
7580
[#878]: https://github.com/stackabletech/docker-images/pull/878
7681
[#879]: https://github.com/stackabletech/docker-images/pull/879
82+
[#880]: https://github.com/stackabletech/docker-images/pull/880
7783
[#881]: https://github.com/stackabletech/docker-images/pull/881
7884
[#882]: https://github.com/stackabletech/docker-images/pull/882
85+
[#890]: https://github.com/stackabletech/docker-images/pull/890
86+
[#894]: https://github.com/stackabletech/docker-images/pull/894
87+
[#896]: https://github.com/stackabletech/docker-images/pull/896
7988

8089
## [24.7.0] - 2024-07-24
8190

airflow/Dockerfile

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ FROM stackable/image/statsd_exporter AS statsd_exporter-builder
1212
FROM stackable/image/vector AS airflow-build-image
1313

1414
ARG PRODUCT
15+
ARG STATSD_EXPORTER
1516
ARG PYTHON
1617
ARG TARGETARCH
1718

@@ -38,22 +39,39 @@ RUN microdnf update && \
3839
python${PYTHON}-pip \
3940
python${PYTHON}-wheel \
4041
# The airflow odbc provider can compile without the development files (headers and libraries) (see https://github.com/stackabletech/docker-images/pull/683)
41-
unixODBC && \
42+
unixODBC \
43+
# Needed to modify the SBOM
44+
jq && \
4245
microdnf clean all && \
4346
rm -rf /var/cache/yum
4447

45-
RUN python${PYTHON} -m venv --system-site-packages /stackable/app && \
46-
source /stackable/app/bin/activate && \
47-
pip install --no-cache-dir --upgrade pip && \
48-
pip install --no-cache-dir apache-airflow[${AIRFLOW_EXTRAS}]==${PRODUCT} --constraint /tmp/constraints.txt && \
49-
# Needed for pandas S3 integration to e.g. write and read csv and parquet files to/from S3
50-
pip install --no-cache-dir s3fs cyclonedx-bom && \
51-
# Needed for OIDC
52-
pip install --no-cache-dir Flask_OIDC==2.2.0 Flask-OpenID==1.3.1 && \
53-
cyclonedx-py environment --schema-version 1.5 --outfile /stackable/airflow-${PRODUCT}.cdx.json
48+
RUN <<EOF
49+
python${PYTHON} -m venv --system-site-packages /stackable/app
50+
51+
source /stackable/app/bin/activate
52+
53+
pip install --no-cache-dir --upgrade pip
54+
pip install --no-cache-dir apache-airflow[${AIRFLOW_EXTRAS}]==${PRODUCT} --constraint /tmp/constraints.txt
55+
# Needed for pandas S3 integration to e.g. write and read csv and parquet files to/from S3
56+
pip install --no-cache-dir s3fs==2024.9.0 cyclonedx-bom==5.0.0
57+
# Needed for OIDC
58+
pip install --no-cache-dir Flask_OIDC==2.2.0 Flask-OpenID==1.3.1
59+
60+
# Create the SBOM for Airflow
61+
# Important: All `pip install` commands must be above this line, otherwise the SBOM will be incomplete
62+
cyclonedx-py environment --schema-version 1.5 --outfile /tmp/sbom.json
63+
64+
# Break circular dependencies by removing the apache-airflow dependency from the providers
65+
jq '.dependencies |= map(if .ref | test("^apache-airflow-providers-") then
66+
.dependsOn |= map(select(. != "apache-airflow=='${PRODUCT}'"))
67+
else
68+
.
69+
end)' /tmp/sbom.json > /stackable/app/airflow-${PRODUCT}.cdx.json
70+
EOF
5471

5572
WORKDIR /stackable
5673
COPY --from=statsd_exporter-builder /statsd_exporter/statsd_exporter /stackable/statsd_exporter
74+
COPY --from=statsd_exporter-builder /statsd_exporter/statsd_exporter-${STATSD_EXPORTER}.cdx.json /stackable/statsd_exporter-${STATSD_EXPORTER}.cdx.json
5775

5876
FROM stackable/image/vector AS airflow-main-image
5977

druid/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ ln -s /stackable/apache-druid-${PRODUCT} /stackable/druid
120120
# Force to overwrite the existing 'run-druid'
121121
ln -sf /stackable/bin/run-druid /stackable/druid/bin/run-druid
122122

123-
# All files and folders owned by root to support running as arbitrary users
124-
# This is best practice as all container users will belong to the root group (0)
123+
# All files and folders owned by root group to support running as arbitrary users.
124+
# This is best practice as all container users will belong to the root group (0).
125125
chown -R ${STACKABLE_USER_UID}:0 /stackable
126126
chmod -R g=u /stackable
127127
EOF

druid/versions.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,6 @@
55
"java-devel": "11",
66
"authorizer": "0.5.0",
77
},
8-
{
9-
"product": "28.0.1",
10-
# Java 17 should be fully supported as of 27.0.0 https://github.com/apache/druid/releases#27.0.0-highlights-java-17-support
11-
# Did not work in a quick test due to reflection error:
12-
# Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class
13-
# java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError
14-
"java-base": "11",
15-
"java-devel": "11",
16-
"authorizer": "0.5.0",
17-
},
188
{
199
"product": "30.0.0",
2010
# https://druid.apache.org/docs/30.0.0/operations/java/

hadoop/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ find . -name 'hadoop-*tests.jar' -type f -delete
169169
# It is so non-root users (as we are) can mount a FUSE device and let other users access it
170170
echo "user_allow_other" > /etc/fuse.conf
171171

172-
# All files and folders owned by root to support running as arbitrary users
173-
# This is best practice as all container users will belong to the root group (0)
172+
# All files and folders owned by root group to support running as arbitrary users.
173+
# This is best practice as all container users will belong to the root group (0).
174174
chown -R ${STACKABLE_USER_UID}:0 /stackable
175175
chmod -R g=u /stackable
176176
EOF

hbase/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,8 +354,8 @@ ln --symbolic --logical --verbose "/stackable/hbase-${PRODUCT}" /stackable/hbase
354354
ln --symbolic --logical --verbose "/stackable/hbase-operator-tools-${HBASE_OPERATOR_TOOLS}" /stackable/hbase-operator-tools
355355
ln --symbolic --logical --verbose "/stackable/phoenix/phoenix-server-hbase-${HBASE_PROFILE}.jar" "/stackable/hbase/lib/phoenix-server-hbase-${HBASE_PROFILE}.jar"
356356

357-
# All files and folders owned by root to support running as arbitrary users
358-
# This is best practice as all container users will belong to the root group (0)
357+
# All files and folders owned by root group to support running as arbitrary users.
358+
# This is best practice as all container users will belong to the root group (0).
359359
chown -R ${STACKABLE_USER_UID}:0 /stackable
360360
chmod -R g=u /stackable
361361
EOF

hello-world/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ rm -rf /var/cache/yum
2222

2323
curl "https://repo.stackable.tech/repository/packages/hello-world/hello-world-${PRODUCT}.jar" -o /stackable/hello-world.jar
2424

25-
# All files and folders owned by root to support running as arbitrary users
26-
# This is best practice as all container users will belong to the root group (0)
25+
# All files and folders owned by root group to support running as arbitrary users.
26+
# This is best practice as all container users will belong to the root group (0).
2727
chown -R ${STACKABLE_USER_UID}:0 /stackable
2828
chmod -R g=u /stackable
2929
EOF

0 commit comments

Comments
 (0)