Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/update-base-ubi-rust-builders.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,15 @@ Add/Change/Remove anything that isn't applicable anymore
> This list should be completed by the assignee(s), once respective PRs have been merged. Once all items have been
> checked, the issue can be moved into _Development: Done_.

- [ ] Done for [ubi9-rust-builder/Dockerfile](https://github.com/stackabletech/docker-images/blob/main/ubi9-rust-builder/Dockerfile)
- [ ] Done for [ubi10-rust-builder/Dockerfile](https://github.com/stackabletech/docker-images/blob/main/ubi10-rust-builder/Dockerfile)
- [ ] Can build the image locally
- [ ] Can build an operator image

<details>
<summary>Testing instructions</summary>

```shell
docker build -t oci.stackable.tech/sdp/ubi9-rust-builder . -f ubi9-rust-builder/Dockerfile
docker build -t oci.stackable.tech/sdp/ubi10-rust-builder . -f ubi10-rust-builder/Dockerfile

# Change directory into the an operator repository and ensure the image can build
docker build . -f docker/Dockerfile
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/ubi-rust-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ on:
branches:
- main
paths:
- ubi9-rust-builder/**
- ubi10-rust-builder/**
- .github/actions/**
- .github/workflows/ubi-rust-builder.yml
Expand All @@ -25,7 +24,7 @@ jobs:
fail-fast: false
matrix:
runner: ["ubuntu-latest", "ubicloud-standard-8-arm-ubuntu-2404"]
ubi-version: ["ubi9"]
ubi-version: ["ubi10"]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
Expand Down Expand Up @@ -65,7 +64,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ubi-version: ["ubi9"]
ubi-version: ["ubi10"]
runs-on: ubuntu-latest
needs: ["build"]
steps:
Expand Down
2 changes: 1 addition & 1 deletion .scripts/upload_new_maven_version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,4 @@ curl --fail -o /dev/null --progress-bar -u "$NEXUS_USER:$NEXUS_PASSWORD" --uploa

echo "Successfully uploaded Maven $VERSION to Nexus"
echo "https://repo.stackable.tech/service/rest/repository/browse/packages/maven/"
echo "https://github.com/prometheus/maven/releases/tag/$VERSION"
echo "https://github.com/apache/maven/releases/tag/maven-$VERSION"
50 changes: 50 additions & 0 deletions .scripts/upload_new_nvm_version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#!/usr/bin/env bash

set -euo pipefail

VERSION=${1:?"Missing version number argument (arg 1)"}
NEXUS_USER=${2:?"Missing Nexus username argument (arg 2)"}

read -r -s -p "Nexus Password: " NEXUS_PASSWORD
echo

# https://stackoverflow.com/questions/4632028/how-to-create-a-temporary-directory
# Find the directory name of the script
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

# the temp directory used, within $DIR
WORK_DIR=$(mktemp -d -p "$DIR")

# check if tmp dir was created
if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
echo "Could not create temp dir"
exit 1
fi

# deletes the temp directory
function cleanup {
rm -rf "$WORK_DIR"
}

# register the cleanup function to be called on the EXIT signal
trap cleanup EXIT

cd "$WORK_DIR" || exit

# https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.3.tar.gz
BASE_URL="https://github.com/nvm-sh/nvm/archive/refs/tags"
ARCHIVE_FILE="v$VERSION.tar.gz"
ARCHIVE_URL="$BASE_URL/$ARCHIVE_FILE"

echo "Downloading nvm $VERSION"
curl --fail -LO --progress-bar "$ARCHIVE_URL"

# nvm maintainers don't produce sum files

echo "Uploading to Nexus"

curl --fail -o /dev/null --progress-bar -u "$NEXUS_USER:$NEXUS_PASSWORD" --upload-file "$ARCHIVE_FILE" 'https://repo.stackable.tech/repository/packages/nvm/'

echo "Successfully uploaded nvm $VERSION to Nexus"
echo "https://repo.stackable.tech/service/rest/repository/browse/packages/nvm/"
echo "https://github.com/nvm-sh/nvm/releases/tag/v$VERSION"
42 changes: 27 additions & 15 deletions airflow/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ WORKDIR /tmp/opa-auth-manager

RUN <<EOF
microdnf update
microdnf install python${PYTHON_VERSION}-pip
microdnf install python3-pip
microdnf clean all

pip${PYTHON_VERSION} install --no-cache-dir uv==${UV_VERSION}
pip install --no-cache-dir uv==${UV_VERSION}

# This folder is required by the tests to set up an sqlite database
mkdir /root/airflow
Expand Down Expand Up @@ -62,8 +62,7 @@ ARG AIRFLOW_EXTRAS_EXTERNAL_SERVICES=""
ARG AIRFLOW_EXTRAS_LOCALLY_INSTALLED_SOFTWARE=""
ARG AIRFLOW_EXTRAS_OTHER=""

RUN microdnf module enable -y nodejs:${NODEJS_VERSION} && \
microdnf update && \
RUN microdnf update && \
microdnf install \
cyrus-sasl-devel \
# Needed for kerberos
Expand All @@ -78,10 +77,10 @@ RUN microdnf module enable -y nodejs:${NODEJS_VERSION} && \
libpq-devel \
openldap-devel \
openssl-devel \
python${PYTHON_VERSION} \
python${PYTHON_VERSION}-devel \
python${PYTHON_VERSION}-pip \
python${PYTHON_VERSION}-wheel \
python3 \
python3-devel \
python3-pip \
# python${PYTHON_VERSION}-wheel \
# The airflow odbc provider can compile without the development files (headers and libraries) (see https://github.com/stackabletech/docker-images/pull/683)
unixODBC \
# Needed for Airflow UI assets
Expand Down Expand Up @@ -111,14 +110,16 @@ AIRFLOW_EXTRAS="$AIRFLOW_EXTRAS_CORE,$AIRFLOW_EXTRAS_META,$AIRFLOW_EXTRAS_PROVID
# Removing duplicates
AIRFLOW_EXTRAS=$(echo "$AIRFLOW_EXTRAS" | tr ',' '\n' | awk 'NF > 0 {if (!seen[$0]++) print $0}' | tr '\n' ',' | sed 's/,$//')

python${PYTHON_VERSION} -m venv --system-site-packages /stackable/app

source /stackable/app/bin/activate

# TODO: Use uv ${UV_VERSION} from Nexus instead of pip
# Upgrade pip to the latest version
# Also install uv to get support for build constraints
# Also install uv to get support for build constraints and venv for a given python version
pip install --no-cache-dir --upgrade pip
pip install --no-cache-dir uv==${UV_VERSION}

uv venv --python "${PYTHON_VERSION}" --system-site-packages /stackable/app
source /stackable/app/bin/activate

# Another project manager
uv tool install hatch

cd "$(/stackable/patchable --images-repo-root=src checkout airflow ${PRODUCT_VERSION})"
Expand Down Expand Up @@ -200,6 +201,7 @@ ARG TINI_VERSION
ARG TARGETARCH
ARG SHARED_STATSD_EXPORTER_VERSION
ARG STACKABLE_USER_UID
ARG UV_VERSION

LABEL name="Apache Airflow" \
maintainer="info@stackable.tech" \
Expand All @@ -225,6 +227,9 @@ COPY --from=gitsync-image --chown=${STACKABLE_USER_UID}:0 /git-sync ${HOME}/git-

COPY airflow/licenses /licenses

# TODO (@NickLarsenNZ): Get the image into our registry
COPY --from=ghcr.io/astral-sh/uv:0.9.10 --chown=${STACKABLE_USER_UID}:0 /uv /uvx /bin/

# Update image and install needed packages
RUN <<EOF
microdnf update
Expand All @@ -242,8 +247,6 @@ microdnf install \
openldap-clients \
openssh-clients \
openssl-libs \
openssl-pkcs11 \
python${PYTHON_VERSION} \
socat \
unixODBC
microdnf clean all
Expand All @@ -253,6 +256,15 @@ rm -rf /var/cache/yum
# It is used as an init alternative in the entrypoint
curl -o /usr/bin/tini "https://repo.stackable.tech/repository/packages/tini/tini-${TINI_VERSION}-${TARGETARCH}"

# There is currently no way to tell `uv` where to write to, and it assumes `$HOME` for the XDG paths.
export XDG_DATA_HOME=/usr/local/share
export XDG_CACHE_HOME=/var/cache
uv venv --python "${PYTHON_VERSION}" --system-site-packages /stackable/app
chown -R "${STACKABLE_USER_UID}:0" /stackable/app/bin
source /stackable/app/bin/activate
# uv python install "${PYTHON_VERSION}" --no-cache -v
# uv python pin "${PYTHON_VERSION}" --no-cache -v

# fix missing permissions
chmod a+x /entrypoint.sh
chmod a+x /run-airflow.sh
Expand Down
24 changes: 14 additions & 10 deletions airflow/boil-config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ git-sync-version = "v4.4.1"
s3fs-version = "2024.9.0"
cyclonedx-bom-version = "6.0.0"
tini-version = "0.19.0"
uv-version = "0.7.8"
uv-version = "0.9.10"
airflow-extras-other = "async,amazon,celery,cncf.kubernetes,docker,dask,elasticsearch,ftp,grpc,hashicorp,http,ldap,google,google_auth,microsoft.azure,odbc,pandas,postgres,redis,sendgrid,sftp,slack,ssh,statsd,virtualenv,trino"
opa-auth-manager = "airflow-2"
nodejs-version = "20"
nvm-version = "0.40.3"

[versions."2.10.5".local-images]
"shared/statsd-exporter" = "0.28.0"
Expand All @@ -25,10 +26,11 @@ git-sync-version = "v4.4.1"
s3fs-version = "2024.9.0"
cyclonedx-bom-version = "6.0.0"
tini-version = "0.19.0"
uv-version = "0.7.8"
uv-version = "0.9.10"
airflow-extras-other = "async,amazon,celery,cncf.kubernetes,docker,dask,elasticsearch,ftp,grpc,hashicorp,http,ldap,google,google_auth,microsoft.azure,odbc,pandas,postgres,redis,sendgrid,sftp,slack,ssh,statsd,virtualenv,trino"
opa-auth-manager = "airflow-2"
nodejs-version = "20"
nvm-version = "0.40.3"

[versions."3.0.1".local-images]
"shared/statsd-exporter" = "0.28.0"
Expand All @@ -41,10 +43,11 @@ git-sync-version = "v4.4.1"
s3fs-version = "2024.9.0"
cyclonedx-bom-version = "6.0.0"
tini-version = "0.19.0"
uv-version = "0.7.8"
uv-version = "0.9.10"
airflow-extras-other = "async,amazon,celery,cncf-kubernetes,docker,elasticsearch,fab,ftp,grpc,hashicorp,http,ldap,google,microsoft-azure,odbc,pandas,postgres,redis,sendgrid,sftp,slack,ssh,statsd,trino"
opa-auth-manager = "airflow-3"
nodejs-version = "20"
nvm-version = "0.40.3"

[versions."3.0.6".local-images]
"shared/statsd-exporter" = "0.28.0"
Expand All @@ -57,26 +60,27 @@ git-sync-version = "v4.4.1"
s3fs-version = "2024.9.0"
cyclonedx-bom-version = "6.0.0"
tini-version = "0.19.0"
uv-version = "0.7.8"
uv-version = "0.9.10"

# Airflow extras are defined in separate lists to make them easier to check against the links below. The lists will be concatenated and duplicates removed in the dockerfile.
# See https://airflow.apache.org/docs/apache-airflow/3.0.6/extra-packages-ref.html#core-airflow-extras
airflow-extras-core="async,graphviz,kerberos,otel,sentry,standard,statsd"
airflow-extras-core = "async,graphviz,kerberos,otel,sentry,standard,statsd"

# See https://airflow.apache.org/docs/apache-airflow/3.0.6/extra-packages-ref.html#meta-airflow-package-extras
airflow-extras-meta="aiobotocore,cloudpickle,github-enterprise,google-auth,graphviz,ldap,leveldb,pandas,polars,rabbitmq,s3fs,saml,uv"
airflow-extras-meta = "aiobotocore,cloudpickle,github-enterprise,google-auth,graphviz,ldap,leveldb,pandas,polars,rabbitmq,s3fs,saml,uv"

# See https://airflow.apache.org/docs/apache-airflow/3.0.6/extra-packages-ref.html#apache-software-extras
airflow-extras-provider-apache="apache-beam,apache-cassandra,apache-drill,apache-druid,apache-flink,apache-hdfs,apache-hive,apache-iceberg,apache-impala,apache-kafka,apache-kylin,apache-livy,apache-pig,apache-pinot"
airflow-extras-provider-apache = "apache-beam,apache-cassandra,apache-drill,apache-druid,apache-flink,apache-hdfs,apache-hive,apache-iceberg,apache-impala,apache-kafka,apache-kylin,apache-livy,apache-pig,apache-pinot"

# See https://airflow.apache.org/docs/apache-airflow/3.0.6/extra-packages-ref.html#external-services-extras
airflow-extras-external-services="airbyte,alibaba,apprise,amazon,asana,atlassian-jira,microsoft-azure,cloudant,cohere,databricks,datadog,dbt-cloud,dingding,discord,facebook,github,google,hashicorp,openai,opsgenie,pagerduty,pgvector,pinecone,qdrant,salesforce,sendgrid,segment,slack,snowflake,tableau,tabular,telegram,vertica,weaviate,yandex,ydb,zendesk"
airflow-extras-external-services = "airbyte,alibaba,apprise,amazon,asana,atlassian-jira,microsoft-azure,cloudant,cohere,databricks,datadog,dbt-cloud,dingding,discord,facebook,github,google,hashicorp,openai,opsgenie,pagerduty,pgvector,pinecone,qdrant,salesforce,sendgrid,segment,slack,snowflake,tableau,tabular,telegram,vertica,weaviate,yandex,ydb,zendesk"

# See https://airflow.apache.org/docs/apache-airflow/3.0.6/extra-packages-ref.html#locally-installed-software-extras
airflow-extras-locally-installed-software="arangodb,celery,cncf-kubernetes,docker,edge3,elasticsearch,exasol,fab,git,github,influxdb,jenkins,mongo,microsoft-mssql,neo4j,odbc,openfaas,oracle,postgres,presto,redis,samba,singularity,teradata,trino"
airflow-extras-locally-installed-software = "arangodb,celery,cncf-kubernetes,docker,edge3,elasticsearch,exasol,fab,git,github,influxdb,jenkins,mongo,microsoft-mssql,neo4j,odbc,openfaas,oracle,postgres,presto,redis,samba,singularity,teradata,trino"

# See https://airflow.apache.org/docs/apache-airflow/3.0.6/extra-packages-ref.html#other-extras
airflow-extras-other="common-compat,common-io,common-messaging,common-sql,ftp,grpc,http,imap,jdbc,microsoft-psrp,microsoft-winrm,openlineage,opensearch,papermill,sftp,smtp,sqlite,ssh"
airflow-extras-other = "common-compat,common-io,common-messaging,common-sql,ftp,grpc,http,imap,jdbc,microsoft-psrp,microsoft-winrm,openlineage,opensearch,papermill,sftp,smtp,sqlite,ssh"

opa-auth-manager = "airflow-3"
nodejs-version = "20"
nvm-version = "0.40.3"
2 changes: 1 addition & 1 deletion druid/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ LABEL org.opencontainers.image.description="${DESCRIPTION}"

# https://docs.openshift.com/container-platform/4.16/openshift_images/create-images.html#defining-image-metadata
# https://github.com/projectatomic/ContainerApplicationGenericLabels/blob/master/vendor/redhat/labels.md
LABEL io.openshift.tags="ubi9,stackable,druid,sdp"
LABEL io.openshift.tags="ubi10,stackable,druid,sdp"
LABEL io.k8s.description="${DESCRIPTION}"
LABEL io.k8s.display-name="${NAME}"

Expand Down
2 changes: 1 addition & 1 deletion hbase/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ LABEL org.opencontainers.image.description="${DESCRIPTION}"

# https://docs.openshift.com/container-platform/4.16/openshift_images/create-images.html#defining-image-metadata
# https://github.com/projectatomic/ContainerApplicationGenericLabels/blob/master/vendor/redhat/labels.md
LABEL io.openshift.tags="ubi9,stackable,hbase,sdp,nosql"
LABEL io.openshift.tags="ubi10,stackable,hbase,sdp,nosql"
LABEL io.k8s.description="${DESCRIPTION}"
LABEL io.k8s.display-name="${NAME}"

Expand Down
2 changes: 1 addition & 1 deletion hive/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ LABEL org.opencontainers.image.description="${DESCRIPTION}"

# https://docs.openshift.com/container-platform/4.16/openshift_images/create-images.html#defining-image-metadata
# https://github.com/projectatomic/ContainerApplicationGenericLabels/blob/master/vendor/redhat/labels.md
LABEL io.openshift.tags="ubi9,stackable,hive,sdp"
LABEL io.openshift.tags="ubi10,stackable,hive,sdp"
LABEL io.k8s.description="${DESCRIPTION}"
LABEL io.k8s.display-name="${NAME}"

Expand Down
2 changes: 1 addition & 1 deletion opa/daemontools/conf-cc.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
+++ conf-cc 2014-07-14 12:07:14.837994394 +0000
@@ -1,3 +1,3 @@
-gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings
+gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -include /usr/include/errno.h
+gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -include /usr/include/errno.h -include /usr/include/unistd.h -std=gnu11 -Wno-incompatible-pointer-types -Wno-implicit-int -Wno-implicit-function-declaration

This will be used to compile .c files.
2 changes: 1 addition & 1 deletion opensearch-dashboards/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ LABEL org.opencontainers.image.title="${NAME}"
LABEL org.opencontainers.image.description="${DESCRIPTION}"
# https://docs.openshift.com/container-platform/4.16/openshift_images/create-images.html#defining-image-metadata
# https://github.com/projectatomic/ContainerApplicationGenericLabels/blob/master/vendor/redhat/labels.md
LABEL io.openshift.tags="ubi9,stackable,opensearch-dashboards,opensearch"
LABEL io.openshift.tags="ubi10,stackable,opensearch-dashboards,opensearch"
LABEL io.k8s.description="${DESCRIPTION}"
LABEL io.k8s.display-name="${NAME}"

Expand Down
6 changes: 3 additions & 3 deletions stackable-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ cd /secret-operator
cargo auditable --quiet build --release --package cert-tools && cargo cyclonedx --all --spec-version 1.5 --describe binaries
EOF

# Find the latest version at https://catalog.redhat.com/software/containers/ubi9/ubi-minimal/615bd9b4075b022acc111bf5?container-tabs=gti
# Find the latest version at https://catalog.redhat.com/en/software/containers/ubi10/ubi-minimal/66f1504a379b9c2cf23e145c#get-the-image
# IMPORTANT: Make sure to use the "Manifest List Digest" that references the images for multiple architectures
# rather than just the "Image Digest" that references the image for the selected architecture.
FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:2f06ae0e6d3d9c4f610d32c480338eef474867f435d8d28625f2985e8acde6e8 AS final
FROM registry.access.redhat.com/ubi10/ubi-minimal@sha256:28ec2f4662bdc4b0d4893ef0d8aebf36a5165dfb1d1dc9f46319bd8a03ed3365 AS final

# intentionally unused
ARG PRODUCT_VERSION
Expand Down Expand Up @@ -156,7 +156,7 @@ chown ${STACKABLE_USER_UID}:0 /stackable/.curlrc
# CVE-2023-37920: Remove "e-Tugra" root certificates
# e-Tugra's root certificates were subject to an investigation prompted by reporting of security issues in their systems
# Until they are removed by default from ca-certificates, we should remove them manually
EXPECTED_CERTS_PACKAGE="ca-certificates-2025.2.80_v9.0.305-91.el9.noarch"
EXPECTED_CERTS_PACKAGE="ca-certificates-2025.2.80_v9.0.305-102.el10_1.noarch"
ACTUAL_CERTS_PACKAGE="$(rpm -qa ca-certificates)"
if [ "$ACTUAL_CERTS_PACKAGE" != "$EXPECTED_CERTS_PACKAGE" ]; then
echo "The ca-certificates package was updated to $ACTUAL_CERTS_PACKAGE. Please check if the e-Tugra root certificates are present. \
Expand Down
4 changes: 2 additions & 2 deletions stackable-devel/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
# Use `stackable-base` as a base for the final image stage instead
#

# Find the latest version at https://catalog.redhat.com/software/containers/ubi9/ubi-minimal/615bd9b4075b022acc111bf5?container-tabs=gti
# Find the latest version at https://catalog.redhat.com/en/software/containers/ubi10/ubi-minimal/66f1504a379b9c2cf23e145c#get-the-image
# IMPORTANT: Make sure to use the "Manifest List Digest" that references the images for multiple architectures
# rather than just the "Image Digest" that references the image for the selected architecture.
FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:2f06ae0e6d3d9c4f610d32c480338eef474867f435d8d28625f2985e8acde6e8
FROM registry.access.redhat.com/ubi10/ubi-minimal@sha256:28ec2f4662bdc4b0d4893ef0d8aebf36a5165dfb1d1dc9f46319bd8a03ed3365

# intentionally unused
ARG PRODUCT_VERSION
Expand Down
2 changes: 1 addition & 1 deletion testing-tools/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Stackable testing tools image

* Based on debian/python 3.12 unlike `tools` which is based on UBI9 with python 3.9.
* Based on debian/python 3.12 unlike `tools` which is based on UBI10 with python 3.9.
* Comes with Python packages needed by the kuttl tests.
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# syntax=docker/dockerfile:1.16.0@sha256:e2dd261f92e4b763d789984f6eab84be66ab4f5f08052316d8eb8f173593acf7
# check=error=true

# Find the latest version at https://catalog.redhat.com/software/containers/ubi9/ubi-minimal/615bd9b4075b022acc111bf5?container-tabs=gti
# IMPORTANT: Be sure to use the Manifest List Digest for multi-arch support
FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:2f06ae0e6d3d9c4f610d32c480338eef474867f435d8d28625f2985e8acde6e8 AS builder

# Find the latest version at https://catalog.redhat.com/en/software/containers/ubi10/ubi-minimal/66f1504a379b9c2cf23e145c#get-the-image
# IMPORTANT: Make sure to use the "Manifest List Digest" that references the images for multiple architectures
# rather than just the "Image Digest" that references the image for the selected architecture.
FROM registry.access.redhat.com/ubi10/ubi-minimal@sha256:28ec2f4662bdc4b0d4893ef0d8aebf36a5165dfb1d1dc9f46319bd8a03ed3365 AS builder
# todo
LABEL maintainer="Stackable GmbH"

# Pin the rustup version to avoid unexpected breaking changes.
Expand Down
6 changes: 3 additions & 3 deletions ubi9-rust-builder/README.md → ubi10-rust-builder/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ubi9-rust-builder
# ubi10-rust-builder

These images are meant to be used in multi-stage builds as a base image for projects building Rust projects.
They are automatically rebuilt and pushed every night and also on every push to the main branch, in addition a build can be triggered using GitHub Actions.
Expand All @@ -10,9 +10,9 @@ This will bake in the current stable Rust version at the time this image was bui
## Example usage

```dockerfile
FROM oci.stackable.tech/ubi9-rust-builder AS builder
FROM oci.stackable.tech/sdp/ubi10-rust-builder AS builder

FROM registry.access.redhat.com/ubi9/ubi-minimal AS operator
FROM registry.access.redhat.com/ubi10/ubi-minimal AS operator
LABEL maintainer="Stackable GmbH"

# Update image
Expand Down
Loading