From 79a358934ea9c39afe8f34102b2d8abf0608138d Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Tue, 11 Aug 2026 16:43:15 -0400 Subject: [PATCH 01/15] Add UBI 10 micro based Dockerfiles --- .../full/Dockerfile.ubi10-micro.ibmjava8 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk11 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk17 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk21 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk25 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk8 | 48 +++++ .../full/helpers/build/populate_scc.sh | 12 +- .../Dockerfile.ubi10-micro.ibmjava8 | 173 ++++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk11 | 164 +++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk17 | 164 +++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk21 | 164 +++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk25 | 164 +++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk8 | 164 +++++++++++++++++ .../kernel-slim/helpers/build/populate_scc.sh | 12 +- 14 files changed, 1293 insertions(+), 12 deletions(-) create mode 100644 releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 create mode 100644 releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 create mode 100644 releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 create mode 100644 releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 create mode 100644 releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 create mode 100644 releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 create mode 100644 releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 create mode 100755 releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 create mode 100755 releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 create mode 100755 releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 create mode 100755 releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 create mode 100755 releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 new file mode 100644 index 00000000..5b02ac37 --- /dev/null +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-ibmjava-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-ibmjava-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 new file mode 100644 index 00000000..5211ef5a --- /dev/null +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java11-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java11-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 new file mode 100644 index 00000000..ea00e5a3 --- /dev/null +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java17-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java17-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 new file mode 100644 index 00000000..79ebab9a --- /dev/null +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java21-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java21-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 new file mode 100644 index 00000000..eb4a6a34 --- /dev/null +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java25-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java25-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 new file mode 100644 index 00000000..dee88865 --- /dev/null +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/26.0.0.9/full/helpers/build/populate_scc.sh b/releases/26.0.0.9/full/helpers/build/populate_scc.sh index 1012a07a..1c4cae57 100755 --- a/releases/26.0.0.9/full/helpers/build/populate_scc.sh +++ b/releases/26.0.0.9/full/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use curl to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -117,11 +117,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -152,11 +152,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 new file mode 100644 index 00000000..224137e0 --- /dev/null +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -0,0 +1,173 @@ +# This relies on a base image which needs to be built seperately +# curl https://raw.githubusercontent.com/ibmruntimes/ci.docker/main/ibmjava/8/jre/ubi-min/Dockerfile -o java/Dockerfile.ubi10.minimal +# The above file needs editing before it is built: +# This changes to a UBI10 base, and corrects the microdnf command to work on UBI10. +# $> sed -i -e 's/ubi8/ubi10/' -e 's/microdnf install/microdnf -y install/' -e 's/microdnf update/microdnf update -y/' Dockerfile.ubi10-minimal.ibmjava8 +# $> rm ./java/Dockerfile.ubi10.minimal.bak +# Then build and tag as 'ibmjava:10-ubi' +# $> docker build -t ibmjava:10-ubi -f ./java/Dockerfile.ubi10.minimal java + +FROM ibmjava:10-ubi AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ +# && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM ibmjava:10-ubi-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM's Java and UBI 10 minimal" \ + description="This image contains the Open Liberty runtime with IBM's Java and Red Hat UBI 10 minimal as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libreadline.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + IBM_JAVA_OPTIONS="-Xshareclasses:name=liberty,readonly,nonfatal,cacheDir=/output/.classCache/ -Dosgi.checkConfiguration=false ${IBM_JAVA_OPTIONS}" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 new file mode 100755 index 00000000..671663ac --- /dev/null +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-11-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 11 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 11 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 new file mode 100755 index 00000000..c15410ac --- /dev/null +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-17-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 17 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 17 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 new file mode 100755 index 00000000..0b69f6f2 --- /dev/null +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-21-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 21 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 21 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 new file mode 100755 index 00000000..71bc7950 --- /dev/null +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-25-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 25 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 25 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 new file mode 100755 index 00000000..f6fb8586 --- /dev/null +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-8-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 8 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 8 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh b/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh index 1012a07a..1c4cae57 100755 --- a/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh +++ b/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use curl to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -117,11 +117,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -152,11 +152,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop From b923d3ad01533d17236d538db01eb108f006d138 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Thu, 13 Aug 2026 09:35:24 -0400 Subject: [PATCH 02/15] IBM Java 8 image edit --- releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index 224137e0..53964954 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -62,7 +62,7 @@ RUN set -eux; \ echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ chmod +x /usr/bin/dumb-init; -FROM ibmjava:10-ubi-micro +FROM ibmjava:8-ubi10-micro USER root From c55f0e29819739e04be3d5540d8dc1cbed80cbc9 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 11:03:06 -0400 Subject: [PATCH 03/15] Add UBI micro to latest --- .../Dockerfile.ubi10-micro.ibmjava8 | 4 +- .../beta/Dockerfile.ubi10-micro.openjdk25 | 165 +++++++++++++++++ .../full/Dockerfile.ubi10-micro.ibmjava8 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk11 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk17 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk21 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk25 | 48 +++++ .../full/Dockerfile.ubi10-micro.openjdk8 | 48 +++++ .../Dockerfile.ubi10-micro.ibmjava8 | 173 ++++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk11 | 164 +++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk17 | 164 +++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk21 | 164 +++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk25 | 164 +++++++++++++++++ .../Dockerfile.ubi10-micro.openjdk8 | 164 +++++++++++++++++ 14 files changed, 1448 insertions(+), 2 deletions(-) create mode 100644 releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 create mode 100644 releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 create mode 100644 releases/latest/full/Dockerfile.ubi10-micro.openjdk11 create mode 100644 releases/latest/full/Dockerfile.ubi10-micro.openjdk17 create mode 100644 releases/latest/full/Dockerfile.ubi10-micro.openjdk21 create mode 100644 releases/latest/full/Dockerfile.ubi10-micro.openjdk25 create mode 100644 releases/latest/full/Dockerfile.ubi10-micro.openjdk8 create mode 100644 releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 create mode 100755 releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 create mode 100755 releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 create mode 100755 releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 create mode 100755 releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 create mode 100755 releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index 53964954..bc42e64d 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -83,8 +83,8 @@ LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa vendor="Open Liberty" \ name="Open Liberty" \ version="$LIBERTY_VERSION" \ - summary="Image for Open Liberty with IBM's Java and UBI 10 minimal" \ - description="This image contains the Open Liberty runtime with IBM's Java and Red Hat UBI 10 minimal as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + summary="Image for Open Liberty with IBM's Java and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM's Java and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" COPY NOTICES /opt/ol/NOTICES COPY helpers /opt/ol/helpers diff --git a/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 new file mode 100644 index 00000000..76f8ed20 --- /dev/null +++ b/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,165 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.9-beta +ARG LIBERTY_SHA=52af30086cb86dca8d028182eaf4091e83362fac +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/beta/openliberty-runtime/$LIBERTY_VERSION/openliberty-runtime-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-25-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.9-beta +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty Beta" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty Beta with IBM Semeru Runtime Open Edition OpenJDK 25 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty beta runtime with IBM Semeru Runtime Open Edition OpenJDK 25 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create --template=javaee8 \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && mkdir -p /config/dropins \ + && mkdir -p /config/apps \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] diff --git a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 new file mode 100644 index 00000000..584359bb --- /dev/null +++ b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java8-ibmjava-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java8-ibmjava-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 new file mode 100644 index 00000000..2ead6939 --- /dev/null +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java11-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java11-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 new file mode 100644 index 00000000..d4b7327e --- /dev/null +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java17-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java17-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 new file mode 100644 index 00000000..6eca90ac --- /dev/null +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java21-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java21-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 new file mode 100644 index 00000000..b16191a6 --- /dev/null +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java25-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java25-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 new file mode 100644 index 00000000..ef1788e2 --- /dev/null +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 @@ -0,0 +1,48 @@ +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java8-openj9-ubi-micro + +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG LIBERTY_VERSION=26.0.0.8 +ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# We need unzip when using a local repo +USER root +RUN microdnf -y install unzip +USER 1001 + +# Install all features +RUN set -eux; \ + if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ + curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ + sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ + else \ + echo "$FEATURES_SHA /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip" > /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + sha1sum -c /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip.sha1; \ + mkdir /tmp/feature-repo-$LIBERTY_VERSION; \ + unzip -d /tmp/feature-repo-$LIBERTY_VERSION /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip; \ + cp /tmp/feature-repo-$LIBERTY_VERSION/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json /tmp; \ + export FEATURE_LOCAL_REPO=/tmp/feature-repo-$LIBERTY_VERSION; \ + export FEATURE_VERIFY=skip; \ + fi; \ + grep \"shortName\" /tmp/features-$LIBERTY_VERSION.json | sed -e 's/.* //' -e 's/,//' | xargs featureUtility installFeature --acceptLicense --noCache; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java8-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ol/wlp /opt/ol/wlp + +COPY --chown=1001:0 server.xml /config/ + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache \ + && find /opt/ol/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 new file mode 100644 index 00000000..bc42e64d --- /dev/null +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -0,0 +1,173 @@ +# This relies on a base image which needs to be built seperately +# curl https://raw.githubusercontent.com/ibmruntimes/ci.docker/main/ibmjava/8/jre/ubi-min/Dockerfile -o java/Dockerfile.ubi10.minimal +# The above file needs editing before it is built: +# This changes to a UBI10 base, and corrects the microdnf command to work on UBI10. +# $> sed -i -e 's/ubi8/ubi10/' -e 's/microdnf install/microdnf -y install/' -e 's/microdnf update/microdnf update -y/' Dockerfile.ubi10-minimal.ibmjava8 +# $> rm ./java/Dockerfile.ubi10.minimal.bak +# Then build and tag as 'ibmjava:10-ubi' +# $> docker build -t ibmjava:10-ubi -f ./java/Dockerfile.ubi10.minimal java + +FROM ibmjava:10-ubi AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ +# && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM ibmjava:8-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM's Java and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM's Java and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libreadline.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + IBM_JAVA_OPTIONS="-Xshareclasses:name=liberty,readonly,nonfatal,cacheDir=/output/.classCache/ -Dosgi.checkConfiguration=false ${IBM_JAVA_OPTIONS}" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 new file mode 100755 index 00000000..671663ac --- /dev/null +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-11-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 11 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 11 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 new file mode 100755 index 00000000..c15410ac --- /dev/null +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-17-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 17 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 17 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 new file mode 100755 index 00000000..0b69f6f2 --- /dev/null +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-21-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 21 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 21 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 new file mode 100755 index 00000000..71bc7950 --- /dev/null +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-25-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 25 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 25 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 new file mode 100755 index 00000000..f6fb8586 --- /dev/null +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 @@ -0,0 +1,164 @@ +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip + +ARG VERBOSE=false + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +# Install Open Liberty +RUN microdnf -y install shadow-utils wget unzip openssl \ + && if [ ! -f /tmp/wlp.zip ]; then wget -q $LIBERTY_DOWNLOAD_URL -U UA-Open-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && chmod -R u+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ol \ + && mkdir -p /licenses \ + && cp /opt/ol/wlp/LICENSE /licenses/ \ + && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +# Install dumb-init +RUN set -eux; \ + ARCH="$(uname -m)"; \ + case "${ARCH}" in \ + aarch64|arm64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_aarch64'; \ + DUMB_INIT_SHA256=b7d648f97154a99c539b63c55979cd29f005f88430fb383007fe3458340b795e; \ + ;; \ + amd64|x86_64) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64'; \ + DUMB_INIT_SHA256=e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df; \ + ;; \ + ppc64el|ppc64le) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_ppc64le'; \ + DUMB_INIT_SHA256=3d15e80e29f0f4fa1fc686b00613a2220bc37e83a35283d4b4cca1fbd0a5609f; \ + ;; \ + s390x) \ + DUMB_INIT_URL='https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_s390x'; \ + DUMB_INIT_SHA256=47e4601b152fc6dcb1891e66c30ecc62a2939fd7ffd1515a7c30f281cfec53b7; \ + ;;\ + *) \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ + esac; \ + curl -LfsSo /usr/bin/dumb-init ${DUMB_INIT_URL}; \ + echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ + chmod +x /usr/bin/dumb-init; + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-8-jre-ubi10-micro + +USER root + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +ARG OPENJ9_SCC=true +ARG VERBOSE=false + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="Open Liberty" \ + org.opencontainers.image.url="https://openliberty.io/" \ + org.opencontainers.image.source="https://github.com/OpenLiberty/ci.docker" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + liberty.version="$LIBERTY_VERSION" \ + io.openliberty.version="$LIBERTY_VERSION" \ + vendor="Open Liberty" \ + name="Open Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for Open Liberty with IBM Semeru Runtime Open Edition OpenJDK 8 with OpenJ9 and UBI 10 micro" \ + description="This image contains the Open Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK 8 with OpenJ9 and Red Hat UBI 10 micro as the base OS. For more information on this image please see https://github.com/OpenLiberty/ci.docker#building-an-application-image" + +COPY NOTICES /opt/ol/NOTICES +COPY helpers /opt/ol/helpers +COPY fixes/ /opt/ol/fixes/ + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN echo "1001:x:1001:0::/home/1001:/sbin/nologin" >> /etc/passwd \ + && mkdir -p /home/1001 \ + && chown 1001:0 /home/1001 \ + && mkdir -p /opt/ol/wlp \ + && chown -R 1001:0 /opt/ol/wlp \ + && chmod -R g+rw /opt/ol/wlp + +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --from=builder /usr/bin/awk /usr/bin/awk +COPY --from=builder /usr/bin/wget /usr/bin/wget + +COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ + +# Copy the runtime and licenses +COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV PATH=$PATH:/opt/ol/wlp/bin:/opt/ol/helpers/build:/opt/ol/helpers/runtime \ + LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ol/wlp/output \ + WLP_SKIP_MAXPERMSIZE=true \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure Open Liberty +RUN /opt/ol/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ol/wlp/usr/servers/defaultServer/server.env + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir -p /opt/ol/wlp/usr/shared/resources/lib.index.cache \ + && ln -s /opt/ol/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p $WLP_OUTPUT_DIR/defaultServer \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ol/wlp/usr/servers/defaultServer /config \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && ln -s /opt/ol/wlp /liberty \ + && ln -s /opt/ol/fixes /fixes \ + && echo "" > /config/configDropins/defaults/open-default-port.xml \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ol/wlp/usr \ + && chmod -R g+rw /opt/ol/wlp/usr \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rw /opt/ol/wlp/output \ + && chown -R 1001:0 /opt/ol/helpers \ + && chmod -R ug+rwx /opt/ol/helpers \ + && chown -R 1001:0 /opt/ol/fixes \ + && chmod -R g+rwx /opt/ol/fixes \ + && mkdir /etc/wlp \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && if [ -e /etc/instanton.ld.so.cache ]; then chmod g+w /etc/ld.so.cache; fi \ + && ln -s /logs /liberty/logs \ + && mkdir /serviceability \ + && chown -R 1001:0 /serviceability \ + && chmod -R g+rw /serviceability + +# Create a new SCC layer +RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ + && rm -rf /output/messaging /output/resources/security /logs/* $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && chown -R 1001:0 /opt/ol/wlp/output \ + && chmod -R g+rwx /opt/ol/wlp/output + +#These settings are needed so that we can run as a different user than 1001 after server warmup +ENV RANDFILE=/tmp/.rnd \ + OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" + +USER 1001 + +EXPOSE 9080 9443 + +ENTRYPOINT ["/opt/ol/helpers/runtime/docker-server.sh"] +CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"] + From d8d197a6949b06334c07613ea1868b55c1517f4b Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 11:12:10 -0400 Subject: [PATCH 04/15] change curl to wget --- .../26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 | 2 +- .../26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 | 2 +- .../26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 | 2 +- .../26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk8 | 2 +- .../latest/beta/Dockerfile.ubi10-minimal.openjdk25 | 2 +- releases/latest/beta/helpers/build/populate_scc.sh | 12 ++++++------ releases/latest/full/helpers/build/populate_scc.sh | 12 ++++++------ releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 | 2 +- releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 | 2 +- releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 | 2 +- releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk8 | 2 +- .../latest/kernel-slim/helpers/build/populate_scc.sh | 12 ++++++------ 24 files changed, 39 insertions(+), 39 deletions(-) diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 index 758d21c1..21c26c19 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 index d7edac51..0981dc1a 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 index 5288e978..8758ba8b 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 index 4d5e8cd3..5ddfefe0 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 index ba9301d0..33b76b12 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 @@ -91,7 +91,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ # && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 index 7c010a0f..13421538 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 index af653730..c79419c9 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 index 8ca52bfe..44bdb192 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 index 096bab68..2ba8580f 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 index e46ed4ea..6f6357ae 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 b/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 index 58576aa8..2a4a194f 100644 --- a/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/beta/helpers/build/populate_scc.sh b/releases/latest/beta/helpers/build/populate_scc.sh index f0805015..85833a76 100755 --- a/releases/latest/beta/helpers/build/populate_scc.sh +++ b/releases/latest/beta/helpers/build/populate_scc.sh @@ -76,10 +76,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use curl to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -112,11 +112,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -147,11 +147,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop diff --git a/releases/latest/full/helpers/build/populate_scc.sh b/releases/latest/full/helpers/build/populate_scc.sh index 1012a07a..1c4cae57 100755 --- a/releases/latest/full/helpers/build/populate_scc.sh +++ b/releases/latest/full/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use curl to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -117,11 +117,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -152,11 +152,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 index 758d21c1..21c26c19 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 index d7edac51..0981dc1a 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 index 5288e978..8758ba8b 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 index 4d5e8cd3..5ddfefe0 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 index ba9301d0..33b76b12 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 @@ -91,7 +91,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ # && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 index 7c010a0f..13421538 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 index af653730..c79419c9 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 index 8ca52bfe..44bdb192 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 index 096bab68..2ba8580f 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 index e46ed4ea..6f6357ae 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils openssl \ +RUN microdnf -y install shadow-utils findutils wget openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/helpers/build/populate_scc.sh b/releases/latest/kernel-slim/helpers/build/populate_scc.sh index 1012a07a..1c4cae57 100755 --- a/releases/latest/kernel-slim/helpers/build/populate_scc.sh +++ b/releases/latest/kernel-slim/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use curl to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -117,11 +117,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -152,11 +152,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop From 1f2439bf60bc1debcc1958bc31bce1aa5fb27a49 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 11:18:46 -0400 Subject: [PATCH 05/15] Add wget for ubi full --- releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 | 2 +- releases/latest/full/Dockerfile.ubi.ibmjava8 | 2 +- releases/latest/full/Dockerfile.ubi.openjdk11 | 2 +- releases/latest/full/Dockerfile.ubi.openjdk17 | 2 +- releases/latest/full/Dockerfile.ubi.openjdk8 | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 index e4431fc2..3280ee4f 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 index 2ddd2f34..a4c29cb0 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 index 2a36429a..138487ac 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 index 5496f809..3695b49b 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/full/Dockerfile.ubi.ibmjava8 b/releases/latest/full/Dockerfile.ubi.ibmjava8 index e4431fc2..3280ee4f 100644 --- a/releases/latest/full/Dockerfile.ubi.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi.ibmjava8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/full/Dockerfile.ubi.openjdk11 b/releases/latest/full/Dockerfile.ubi.openjdk11 index 2ddd2f34..a4c29cb0 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk11 +++ b/releases/latest/full/Dockerfile.ubi.openjdk11 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/full/Dockerfile.ubi.openjdk17 b/releases/latest/full/Dockerfile.ubi.openjdk17 index 2a36429a..138487ac 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk17 +++ b/releases/latest/full/Dockerfile.ubi.openjdk17 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/full/Dockerfile.ubi.openjdk8 b/releases/latest/full/Dockerfile.ubi.openjdk8 index 5496f809..3695b49b 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk8 +++ b/releases/latest/full/Dockerfile.ubi.openjdk8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts From ba7cdd08b07a81dcc7769094d3f6df76f8117879 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 13:27:22 -0400 Subject: [PATCH 06/15] Use curl if exists --- releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 | 2 +- .../26.0.0.9/full/helpers/build/populate_scc.sh | 15 +++++++++++---- .../26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 | 2 +- .../26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 | 2 +- .../26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 | 2 +- .../26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk8 | 2 +- .../beta/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../latest/beta/helpers/build/populate_scc.sh | 15 +++++++++++---- releases/latest/full/Dockerfile.ubi.ibmjava8 | 2 +- releases/latest/full/Dockerfile.ubi.openjdk11 | 2 +- releases/latest/full/Dockerfile.ubi.openjdk17 | 2 +- releases/latest/full/Dockerfile.ubi.openjdk8 | 2 +- .../latest/full/helpers/build/populate_scc.sh | 15 +++++++++++---- .../latest/kernel-slim/Dockerfile.ubi.ibmjava8 | 2 +- .../latest/kernel-slim/Dockerfile.ubi.openjdk11 | 2 +- .../latest/kernel-slim/Dockerfile.ubi.openjdk17 | 2 +- .../latest/kernel-slim/Dockerfile.ubi.openjdk8 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../kernel-slim/Dockerfile.ubi10-minimal.openjdk8 | 2 +- .../kernel-slim/helpers/build/populate_scc.sh | 15 +++++++++++---- 33 files changed, 73 insertions(+), 45 deletions(-) diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 index 3280ee4f..e4431fc2 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 index a4c29cb0..2ddd2f34 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 index 138487ac..2a36429a 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 index 3695b49b..5496f809 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/full/helpers/build/populate_scc.sh b/releases/26.0.0.9/full/helpers/build/populate_scc.sh index 1c4cae57..0e4e99cf 100755 --- a/releases/26.0.0.9/full/helpers/build/populate_scc.sh +++ b/releases/26.0.0.9/full/helpers/build/populate_scc.sh @@ -105,6 +105,13 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used +# Use curl if available, otherwise use wget +if command -v curl > /dev/null 2>&1; then + http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } +else + http_get() { wget -q -O /dev/null -T 5 "$1"; } +fi + # Explicity create a class cache layer for this image layer here rather than allowing # `server start` to do it, which will lead to problems because multiple JVMs will be started. java $CREATE_LAYER -Xscmx$SCC_SIZE -version @@ -117,11 +124,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -152,11 +159,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 index 21c26c19..758d21c1 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 index 0981dc1a..d7edac51 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 index 8758ba8b..5288e978 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 index 5ddfefe0..4d5e8cd3 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 index 33b76b12..ba9301d0 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 @@ -91,7 +91,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ # && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 index 13421538..7c010a0f 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 index c79419c9..af653730 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 index 44bdb192..8ca52bfe 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 index 2ba8580f..096bab68 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 index 6f6357ae..e46ed4ea 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 b/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 index 2a4a194f..58576aa8 100644 --- a/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/beta/helpers/build/populate_scc.sh b/releases/latest/beta/helpers/build/populate_scc.sh index 85833a76..ac797145 100755 --- a/releases/latest/beta/helpers/build/populate_scc.sh +++ b/releases/latest/beta/helpers/build/populate_scc.sh @@ -100,6 +100,13 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used +# Use curl if available, otherwise use wget +if command -v curl > /dev/null 2>&1; then + http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } +else + http_get() { wget -q -O /dev/null -T 5 "$1"; } +fi + # Explicity create a class cache layer for this image layer here rather than allowing # `server start` to do it, which will lead to problems because multiple JVMs will be started. java $CREATE_LAYER -Xscmx$SCC_SIZE -version @@ -112,11 +119,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -147,11 +154,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop diff --git a/releases/latest/full/Dockerfile.ubi.ibmjava8 b/releases/latest/full/Dockerfile.ubi.ibmjava8 index 3280ee4f..e4431fc2 100644 --- a/releases/latest/full/Dockerfile.ubi.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi.ibmjava8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/full/Dockerfile.ubi.openjdk11 b/releases/latest/full/Dockerfile.ubi.openjdk11 index a4c29cb0..2ddd2f34 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk11 +++ b/releases/latest/full/Dockerfile.ubi.openjdk11 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/full/Dockerfile.ubi.openjdk17 b/releases/latest/full/Dockerfile.ubi.openjdk17 index 138487ac..2a36429a 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk17 +++ b/releases/latest/full/Dockerfile.ubi.openjdk17 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/full/Dockerfile.ubi.openjdk8 b/releases/latest/full/Dockerfile.ubi.openjdk8 index 3695b49b..5496f809 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk8 +++ b/releases/latest/full/Dockerfile.ubi.openjdk8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/full/helpers/build/populate_scc.sh b/releases/latest/full/helpers/build/populate_scc.sh index 1c4cae57..0e4e99cf 100755 --- a/releases/latest/full/helpers/build/populate_scc.sh +++ b/releases/latest/full/helpers/build/populate_scc.sh @@ -105,6 +105,13 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used +# Use curl if available, otherwise use wget +if command -v curl > /dev/null 2>&1; then + http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } +else + http_get() { wget -q -O /dev/null -T 5 "$1"; } +fi + # Explicity create a class cache layer for this image layer here rather than allowing # `server start` to do it, which will lead to problems because multiple JVMs will be started. java $CREATE_LAYER -Xscmx$SCC_SIZE -version @@ -117,11 +124,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -152,11 +159,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 index 21c26c19..758d21c1 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 index 0981dc1a..d7edac51 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 index 8758ba8b..5288e978 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 index 5ddfefe0..4d5e8cd3 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 @@ -91,7 +91,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ol/wlp /opt/ol/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 index 33b76b12..ba9301d0 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 @@ -91,7 +91,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ # && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 index 13421538..7c010a0f 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 index c79419c9..af653730 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 index 44bdb192..8ca52bfe 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 index 2ba8580f..096bab68 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 index 6f6357ae..e46ed4ea 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 @@ -82,7 +82,7 @@ RUN set -eux; \ chmod +x /usr/bin/dumb-init; # Add default user 1001 and create wlp with right user/permissions before copying -RUN microdnf -y install shadow-utils findutils wget openssl \ +RUN microdnf -y install shadow-utils findutils openssl \ && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ && mkdir -p /opt/ol/wlp \ && chown -R 1001:0 /opt/ol/wlp \ diff --git a/releases/latest/kernel-slim/helpers/build/populate_scc.sh b/releases/latest/kernel-slim/helpers/build/populate_scc.sh index 1c4cae57..0e4e99cf 100755 --- a/releases/latest/kernel-slim/helpers/build/populate_scc.sh +++ b/releases/latest/kernel-slim/helpers/build/populate_scc.sh @@ -105,6 +105,13 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used +# Use curl if available, otherwise use wget +if command -v curl > /dev/null 2>&1; then + http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } +else + http_get() { wget -q -O /dev/null -T 5 "$1"; } +fi + # Explicity create a class cache layer for this image layer here rather than allowing # `server start` to do it, which will lead to problems because multiple JVMs will be started. java $CREATE_LAYER -Xscmx$SCC_SIZE -version @@ -117,11 +124,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -152,11 +159,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop From 8aca353b89cdbc0f107e7b23d41f0738d4062b24 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 13:32:44 -0400 Subject: [PATCH 07/15] Update comment --- releases/26.0.0.9/full/helpers/build/populate_scc.sh | 6 +++--- releases/latest/beta/helpers/build/populate_scc.sh | 6 +++--- releases/latest/full/helpers/build/populate_scc.sh | 6 +++--- releases/latest/kernel-slim/helpers/build/populate_scc.sh | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/releases/26.0.0.9/full/helpers/build/populate_scc.sh b/releases/26.0.0.9/full/helpers/build/populate_scc.sh index 0e4e99cf..1c1fc7dd 100755 --- a/releases/26.0.0.9/full/helpers/build/populate_scc.sh +++ b/releases/26.0.0.9/full/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use curl/wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use curl/wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -105,7 +105,7 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used -# Use curl if available, otherwise use wget +# Use curl/wget to warm endpoints if command -v curl > /dev/null 2>&1; then http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } else diff --git a/releases/latest/beta/helpers/build/populate_scc.sh b/releases/latest/beta/helpers/build/populate_scc.sh index ac797145..98cd2038 100755 --- a/releases/latest/beta/helpers/build/populate_scc.sh +++ b/releases/latest/beta/helpers/build/populate_scc.sh @@ -76,10 +76,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use curl/wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use curl/wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -100,7 +100,7 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used -# Use curl if available, otherwise use wget +# Use curl/wget to warm endpoints if command -v curl > /dev/null 2>&1; then http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } else diff --git a/releases/latest/full/helpers/build/populate_scc.sh b/releases/latest/full/helpers/build/populate_scc.sh index 0e4e99cf..1c1fc7dd 100755 --- a/releases/latest/full/helpers/build/populate_scc.sh +++ b/releases/latest/full/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use curl/wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use curl/wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -105,7 +105,7 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used -# Use curl if available, otherwise use wget +# Use curl/wget to warm endpoints if command -v curl > /dev/null 2>&1; then http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } else diff --git a/releases/latest/kernel-slim/helpers/build/populate_scc.sh b/releases/latest/kernel-slim/helpers/build/populate_scc.sh index 0e4e99cf..1c1fc7dd 100755 --- a/releases/latest/kernel-slim/helpers/build/populate_scc.sh +++ b/releases/latest/kernel-slim/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use curl/wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use curl/wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -105,7 +105,7 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used -# Use curl if available, otherwise use wget +# Use curl/wget to warm endpoints if command -v curl > /dev/null 2>&1; then http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } else From 777127a3a7c9975b7c2ae69e4b9b3e4b5e76923d Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 14:39:11 -0400 Subject: [PATCH 08/15] Add libs for ibmjava --- releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 | 4 ++++ releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index bc42e64d..a561d267 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -105,6 +105,10 @@ COPY --from=builder /usr/bin/wget /usr/bin/wget COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ COPY --from=builder /usr/lib64/libreadline.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libgnutls.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libidn2.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libunistring.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libuuid.so* /usr/lib64/ # Copy the runtime and licenses COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index bc42e64d..a561d267 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -105,6 +105,10 @@ COPY --from=builder /usr/bin/wget /usr/bin/wget COPY --from=builder /usr/lib64/libpsl.so* /usr/lib64/ COPY --from=builder /usr/lib64/libmpfr.so* /usr/lib64/ COPY --from=builder /usr/lib64/libreadline.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libgnutls.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libidn2.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libunistring.so* /usr/lib64/ +COPY --from=builder /usr/lib64/libuuid.so* /usr/lib64/ # Copy the runtime and licenses COPY --from=builder --chown=1001:0 /opt/ol/wlp /opt/ol/wlp From d53aed2be5170550889bdf3bf7fa1ecc2e062b5f Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Mon, 17 Aug 2026 09:48:05 -0400 Subject: [PATCH 09/15] Add unzip and replace crul --- releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 | 10 +++++++--- .../26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 | 10 +++++++--- .../26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 | 10 +++++++--- .../26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 | 10 +++++++--- .../26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 | 10 +++++++--- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 | 10 +++++++--- 6 files changed, 42 insertions(+), 18 deletions(-) diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 index 5b02ac37..123c0b93 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-ibmjava-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 index 5211ef5a..0a73d85a 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java11-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 index ea00e5a3..58c8ef7a 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java17-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 index 79ebab9a..95f2543c 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java21-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 index eb4a6a34..16d91394 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java25-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 index dee88865..6d3d51c4 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ From e440d737c14155cf449868dbda276a172eba1397 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Mon, 17 Aug 2026 10:12:37 -0400 Subject: [PATCH 10/15] wget/curl changes in full --- .../kernel-slim/helpers/build/populate_scc.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh b/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh index 1c4cae57..1c1fc7dd 100755 --- a/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh +++ b/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use curl/wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use curl/wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -105,6 +105,13 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used +# Use curl/wget to warm endpoints +if command -v curl > /dev/null 2>&1; then + http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } +else + http_get() { wget -q -O /dev/null -T 5 "$1"; } +fi + # Explicity create a class cache layer for this image layer here rather than allowing # `server start` to do it, which will lead to problems because multiple JVMs will be started. java $CREATE_LAYER -Xscmx$SCC_SIZE -version @@ -117,11 +124,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -152,11 +159,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - wget -q -O /dev/null -T 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop From 882a390f4baef36d07fea00b32a718038ee9a0f2 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Mon, 17 Aug 2026 10:29:55 -0400 Subject: [PATCH 11/15] Add unzip and wget fix for latest full --- releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 | 10 +++++++--- releases/latest/full/Dockerfile.ubi10-micro.openjdk11 | 10 +++++++--- releases/latest/full/Dockerfile.ubi10-micro.openjdk17 | 10 +++++++--- releases/latest/full/Dockerfile.ubi10-micro.openjdk21 | 10 +++++++--- releases/latest/full/Dockerfile.ubi10-micro.openjdk25 | 10 +++++++--- releases/latest/full/Dockerfile.ubi10-micro.openjdk8 | 10 +++++++--- 6 files changed, 42 insertions(+), 18 deletions(-) diff --git a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 index 584359bb..1d296b3c 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java8-ibmjava-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 index 2ead6939..46d2fd5e 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java11-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 index d4b7327e..1871ec06 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java17-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 index 6eca90ac..eac128af 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java21-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 index b16191a6..3f66836e 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java25-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 index ef1788e2..7981956a 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 @@ -1,5 +1,9 @@ ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:kernel-slim-java8-openj9-ubi-micro +# ubi-micro has no package manager; install unzip from ubi-minimal and copy it in +FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder +RUN microdnf -y install unzip && microdnf clean all + FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -9,15 +13,15 @@ ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ -# We need unzip when using a local repo +# We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root -RUN microdnf -y install unzip +COPY --from=builder /usr/bin/unzip /usr/bin/unzip USER 1001 # Install all features RUN set -eux; \ if [ ! -f /tmp/openliberty-MavenArtifact-$LIBERTY_VERSION.zip ]; then \ - curl https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json > /tmp/features-$LIBERTY_VERSION.json; \ + wget -q https://repo1.maven.org/maven2/io/openliberty/features/features/$LIBERTY_VERSION/features-$LIBERTY_VERSION.json -O /tmp/features-$LIBERTY_VERSION.json; \ echo "$FEATURES_SHA /tmp/features-$LIBERTY_VERSION.json" > /tmp/features-$LIBERTY_VERSION.json.sha1; \ sha1sum -c /tmp/features-$LIBERTY_VERSION.json.sha1; \ else \ From 2fc82595c357ce4038affe493c4d794865f313d8 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Mon, 17 Aug 2026 17:42:37 -0400 Subject: [PATCH 12/15] Add unzip dependency --- releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 | 1 + releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 | 1 + 2 files changed, 2 insertions(+) diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 index 123c0b93..58860ea0 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 @@ -16,6 +16,7 @@ COPY resources/ /tmp/ # We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root COPY --from=builder /usr/bin/unzip /usr/bin/unzip +COPY --from=builder /usr/lib64/libbz2.so* /usr/lib64/ USER 1001 # Install all features diff --git a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 index 1d296b3c..1da744d9 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 @@ -16,6 +16,7 @@ COPY resources/ /tmp/ # We need unzip when using a local repo; copy it from ubi-minimal builder stage USER root COPY --from=builder /usr/bin/unzip /usr/bin/unzip +COPY --from=builder /usr/lib64/libbz2.so* /usr/lib64/ USER 1001 # Install all features From b0f9de133894372326e763795d5dd6033973605b Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Tue, 18 Aug 2026 10:44:38 -0400 Subject: [PATCH 13/15] Restore changes to 26.0.0.8 and change ibmjava micro base image --- .../full/helpers/build/populate_scc.sh | 19 ++++++------------- .../Dockerfile.ubi10-micro.ibmjava8 | 2 +- .../kernel-slim/helpers/build/populate_scc.sh | 19 ++++++------------- .../Dockerfile.ubi10-micro.ibmjava8 | 2 +- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/releases/26.0.0.9/full/helpers/build/populate_scc.sh b/releases/26.0.0.9/full/helpers/build/populate_scc.sh index 1c1fc7dd..1012a07a 100755 --- a/releases/26.0.0.9/full/helpers/build/populate_scc.sh +++ b/releases/26.0.0.9/full/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use curl/wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use curl/wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use curl to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -105,13 +105,6 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used -# Use curl/wget to warm endpoints -if command -v curl > /dev/null 2>&1; then - http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } -else - http_get() { wget -q -O /dev/null -T 5 "$1"; } -fi - # Explicity create a class cache layer for this image layer here rather than allowing # `server start` to do it, which will lead to problems because multiple JVMs will be started. java $CREATE_LAYER -Xscmx$SCC_SIZE -version @@ -124,11 +117,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -159,11 +152,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index a561d267..5a7555d5 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -62,7 +62,7 @@ RUN set -eux; \ echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ chmod +x /usr/bin/dumb-init; -FROM ibmjava:8-ubi10-micro +FROM icr.io/appcafe/ibmjava:8-jre-ubi10-micro USER root diff --git a/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh b/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh index 1c1fc7dd..1012a07a 100755 --- a/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh +++ b/releases/26.0.0.9/kernel-slim/helpers/build/populate_scc.sh @@ -81,10 +81,10 @@ do -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. - -w Use curl/wget to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) -c Do not warm an endpoint during SCC creation. -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) - -m Use curl/wget to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) + -m Use curl to warm the openapi endpoint during SCC creation. (Default: $WARM_OPENAPI_ENDPOINT) -l Do not warm the openapi endpoint during SCC creation. -o The Open API URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_OPENAPI_URL) @@ -105,13 +105,6 @@ done OLD_UMASK=`umask` umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used -# Use curl/wget to warm endpoints -if command -v curl > /dev/null 2>&1; then - http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 "$1"; } -else - http_get() { wget -q -O /dev/null -T 5 "$1"; } -fi - # Explicity create a class cache layer for this image layer here rather than allowing # `server start` to do it, which will lead to problems because multiple JVMs will be started. java $CREATE_LAYER -Xscmx$SCC_SIZE -version @@ -124,11 +117,11 @@ then if [ ${WARM_ENDPOINT} == true ] then - http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop @@ -159,11 +152,11 @@ do if [ ${WARM_ENDPOINT} == true ] then - http_get ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "${WARM_ENDPOINT_URL} call failed, continuing" fi if [ ${WARM_OPENAPI_ENDPOINT} == true ] then - http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index a561d267..5a7555d5 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -62,7 +62,7 @@ RUN set -eux; \ echo "${DUMB_INIT_SHA256} */usr/bin/dumb-init" | sha256sum -c -; \ chmod +x /usr/bin/dumb-init; -FROM ibmjava:8-ubi10-micro +FROM icr.io/appcafe/ibmjava:8-jre-ubi10-micro USER root From 02f4242eb80deec5203f3a9d4397b513f7d54e11 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Wed, 26 Aug 2026 11:06:16 -0400 Subject: [PATCH 14/15] Update versions --- releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 | 6 +++--- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 | 6 +++--- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 | 6 +++--- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 | 6 +++--- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 | 6 +++--- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 | 6 +++--- .../26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 | 8 ++++---- .../26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 | 8 ++++---- .../26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 | 8 ++++---- .../26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 | 8 ++++---- .../26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 | 8 ++++---- .../26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 | 8 ++++---- releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk11 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk17 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk21 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk25 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk8 | 2 +- .../latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 | 8 ++++---- .../latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 | 8 ++++---- .../latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 | 8 ++++---- .../latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 | 8 ++++---- .../latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 | 8 ++++---- .../latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 | 8 ++++---- 25 files changed, 73 insertions(+), 73 deletions(-) diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 index 58860ea0..f5547a8c 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 @@ -1,4 +1,4 @@ -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-ibmjava-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java8-ibmjava-ubi-micro # ubi-micro has no package manager; install unzip from ubi-minimal and copy it in FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead @@ -38,7 +38,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-ibmjava-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java8-ibmjava-ubi-micro FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 index 0a73d85a..cd314679 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 @@ -1,4 +1,4 @@ -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java11-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java11-openj9-ubi-micro # ubi-micro has no package manager; install unzip from ubi-minimal and copy it in FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead @@ -37,7 +37,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java11-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java11-openj9-ubi-micro FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 index 58c8ef7a..d2564288 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 @@ -1,4 +1,4 @@ -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java17-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java17-openj9-ubi-micro # ubi-micro has no package manager; install unzip from ubi-minimal and copy it in FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead @@ -37,7 +37,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java17-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java17-openj9-ubi-micro FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 index 95f2543c..00ab41b9 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 @@ -1,4 +1,4 @@ -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java21-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java21-openj9-ubi-micro # ubi-micro has no package manager; install unzip from ubi-minimal and copy it in FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead @@ -37,7 +37,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java21-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java21-openj9-ubi-micro FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 index 16d91394..5ad46d91 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 @@ -1,4 +1,4 @@ -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java25-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java25-openj9-ubi-micro # ubi-micro has no package manager; install unzip from ubi-minimal and copy it in FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead @@ -37,7 +37,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java25-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java25-openj9-ubi-micro FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 index 6d3d51c4..e6b3a6a7 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 @@ -1,4 +1,4 @@ -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java8-openj9-ubi-micro # ubi-micro has no package manager; install unzip from ubi-minimal and copy it in FROM registry.access.redhat.com/ubi10/ubi-minimal AS builder @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead @@ -37,7 +37,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ol/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.8-kernel-slim-java8-openj9-ubi-micro +ARG PARENT_IMAGE=icr.io/appcafe/open-liberty:26.0.0.9-kernel-slim-java8-openj9-ubi-micro FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index 5a7555d5..9c35bb66 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -11,8 +11,8 @@ FROM ibmjava:10-ubi AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -66,8 +66,8 @@ FROM icr.io/appcafe/ibmjava:8-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 index 671663ac..594c403c 100755 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk11 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-11-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 index c15410ac..d68eee77 100755 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk17 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-17-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 index 0b69f6f2..97545200 100755 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk21 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-21-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 index 71bc7950..bb7ca1bd 100755 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk25 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-25-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 index f6fb8586..6d11ee1a 100755 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-micro.openjdk8 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-8-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 index 76f8ed20..dd2b2184 100644 --- a/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 @@ -58,7 +58,7 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-25-jre-ubi10-micro USER root ARG LIBERTY_VERSION=26.0.0.9-beta -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 index 1da744d9..9fc41bd0 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 index 46d2fd5e..5768b133 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 index 1871ec06..fecf2210 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 index eac128af..725d3b5e 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 index 3f66836e..ec8141e7 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 index 7981956a..cfdc0061 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 @@ -7,7 +7,7 @@ RUN microdnf -y install unzip && microdnf clean all FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false -ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_VERSION=26.0.0.9 ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 # If there is a local copy of the repository use that instead diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index 5a7555d5..9c35bb66 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -11,8 +11,8 @@ FROM ibmjava:10-ubi AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -66,8 +66,8 @@ FROM icr.io/appcafe/ibmjava:8-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 index 671663ac..594c403c 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-11-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 index c15410ac..d68eee77 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-17-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 index 0b69f6f2..97545200 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-21-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 index 71bc7950..bb7ca1bd 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-25-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 index f6fb8586..6d11ee1a 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_SHA=6394fee2c842008e9e36f3474c23330bfe467f48 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_SHA=4ec644ee059a8d54a26c326763fd404a6baf1570 ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/openliberty-kernel/$LIBERTY_VERSION/openliberty-kernel-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,8 +57,8 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-8-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 +ARG LIBERTY_VERSION=26.0.0.9 +ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true ARG VERBOSE=false From c9f7a3dfc266c8a94870d52f6019cf0bec810b62 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Wed, 26 Aug 2026 11:20:38 -0400 Subject: [PATCH 15/15] Update sha --- releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 | 2 +- releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 | 2 +- releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 | 6 +++--- releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk11 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk17 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk21 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk25 | 2 +- releases/latest/full/Dockerfile.ubi10-micro.openjdk8 | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 index f5547a8c..f0d5b0fd 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.ibmjava8 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 index cd314679..65554b06 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk11 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 index d2564288..5e7c7b31 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk17 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 index 00ab41b9..76f77644 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk21 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 index 5ad46d91..735609b2 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk25 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 index e6b3a6a7..066e749b 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-micro.openjdk8 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 index dd2b2184..9a6edafc 100644 --- a/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/latest/beta/Dockerfile.ubi10-micro.openjdk25 @@ -2,8 +2,8 @@ FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder USER root -ARG LIBERTY_VERSION=26.0.0.9-beta -ARG LIBERTY_SHA=52af30086cb86dca8d028182eaf4091e83362fac +ARG LIBERTY_VERSION=26.0.0.10-beta +ARG LIBERTY_SHA=f0429c01dd56f8ee1eb2a84095de7697ae9e1a0c ARG LIBERTY_DOWNLOAD_URL=https://repo1.maven.org/maven2/io/openliberty/beta/openliberty-runtime/$LIBERTY_VERSION/openliberty-runtime-$LIBERTY_VERSION.zip ARG VERBOSE=false @@ -57,7 +57,7 @@ FROM icr.io/appcafe/ibm-semeru-runtimes:open-25-jre-ubi10-micro USER root -ARG LIBERTY_VERSION=26.0.0.9-beta +ARG LIBERTY_VERSION=26.0.0.10-beta ARG LIBERTY_BUILD_LABEL=cl260920260824-0859 ARG OPENJ9_SCC=true diff --git a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 index 9fc41bd0..bafdc31a 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 index 5768b133..031aee0e 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 index fecf2210..5522cd24 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 index 725d3b5e..9818abe7 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 index ec8141e7..e63410f3 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 index cfdc0061..3aa5b51f 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 @@ -8,7 +8,7 @@ FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false ARG LIBERTY_VERSION=26.0.0.9 -ARG FEATURES_SHA=534d4f1b2b8cf34903b36f6e3780915f82a35419 +ARG FEATURES_SHA=971f2f2434b57f39c8329ffc075ed26ba5e23742 # If there is a local copy of the repository use that instead COPY resources/ /tmp/