From 79a358934ea9c39afe8f34102b2d8abf0608138d Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Tue, 11 Aug 2026 16:43:15 -0400 Subject: [PATCH 01/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/18] 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/ From 7f625294ed4dcfe1ad9f8b52b989cc3c8164a979 Mon Sep 17 00:00:00 2001 From: Kirby Chin Date: Thu, 27 Aug 2026 13:56:11 -0400 Subject: [PATCH 16/18] Update 26.0.0.9 files --- .../26.0.0.9/full/Dockerfile.ubi.ibmjava8 | 3 +- .../26.0.0.9/full/Dockerfile.ubi.openjdk11 | 3 +- .../26.0.0.9/full/Dockerfile.ubi.openjdk17 | 3 +- .../26.0.0.9/full/Dockerfile.ubi.openjdk8 | 3 +- .../full/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk8 | 2 +- .../26.0.0.9/full/Dockerfile.ubuntu.openjdk11 | 3 +- .../26.0.0.9/full/Dockerfile.ubuntu.openjdk17 | 3 +- .../26.0.0.9/full/Dockerfile.ubuntu.openjdk8 | 3 +- .../full/helpers/build/populate_scc.sh | 29 +++++++++++---- .../full/server-http-port-enabled.xml | 37 +++++++++++++++++++ releases/26.0.0.9/full/server.xml | 2 +- .../kernel-slim/Dockerfile.ubi.ibmjava8 | 3 +- .../kernel-slim/Dockerfile.ubi.openjdk11 | 3 +- .../kernel-slim/Dockerfile.ubi.openjdk17 | 3 +- .../kernel-slim/Dockerfile.ubi.openjdk8 | 3 +- .../Dockerfile.ubi10-micro.ibmjava8 | 2 +- .../Dockerfile.ubi10-micro.openjdk11 | 2 +- .../Dockerfile.ubi10-micro.openjdk17 | 2 +- .../Dockerfile.ubi10-micro.openjdk21 | 2 +- .../Dockerfile.ubi10-micro.openjdk25 | 2 +- .../Dockerfile.ubi10-micro.openjdk8 | 2 +- .../Dockerfile.ubi10-minimal.ibmjava8 | 3 +- .../Dockerfile.ubi10-minimal.openjdk11 | 3 +- .../Dockerfile.ubi10-minimal.openjdk17 | 3 +- .../Dockerfile.ubi10-minimal.openjdk21 | 3 +- .../Dockerfile.ubi10-minimal.openjdk25 | 3 +- .../Dockerfile.ubi10-minimal.openjdk8 | 3 +- .../kernel-slim/Dockerfile.ubuntu.openjdk11 | 3 +- .../kernel-slim/Dockerfile.ubuntu.openjdk17 | 3 +- .../kernel-slim/Dockerfile.ubuntu.openjdk8 | 3 +- .../http-port-disabled.xml | 4 ++ .../update-trigger-disabled.xml | 6 +++ .../kernel-slim/helpers/build/configure.sh | 11 ++++++ .../kernel-slim/helpers/build/features.sh | 8 +++- .../kernel-slim/helpers/build/populate_scc.sh | 29 +++++++++++---- 40 files changed, 160 insertions(+), 50 deletions(-) create mode 100644 releases/26.0.0.9/full/server-http-port-enabled.xml create mode 100644 releases/26.0.0.9/kernel-slim/helpers/build/configuration_snippets/http-port-disabled.xml create mode 100644 releases/26.0.0.9/kernel-slim/helpers/build/configuration_snippets/update-trigger-disabled.xml diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 index e4431fc2..432f80d9 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.ibmjava8 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 index 2ddd2f34..13f94628 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk11 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 index 2a36429a..adf8e9d6 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk17 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 index 5496f809..04b25f9a 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi.openjdk8 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.ibmjava8 b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.ibmjava8 index 526e8228..4d331289 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.ibmjava8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.ibmjava8 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk11 index 9b0aaace..45f89d66 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk11 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk11 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk17 index 322a9d45..736501f0 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk17 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk17 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk21 b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk21 index 07127b39..fa5b5339 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk21 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk21 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk25 b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk25 index 4b3b737f..df298ff1 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk25 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk8 index 649f92b6..4f7f7c7d 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk8 +++ b/releases/26.0.0.9/full/Dockerfile.ubi10-minimal.openjdk8 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk11 b/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk11 index 49e7a100..360d5379 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk11 +++ b/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk11 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk17 b/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk17 index 41656199..b4b35af4 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk17 +++ b/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk17 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk8 b/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk8 index 09250eec..476d68ad 100644 --- a/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk8 +++ b/releases/26.0.0.9/full/Dockerfile.ubuntu.openjdk8 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ 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..01e122d9 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 @@ -1,15 +1,28 @@ #!/bin/bash . /opt/ol/helpers/build/internal/logger.sh +# 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 --insecure "$1"; } +else + http_get() { wget -q --no-check-certificate -O /dev/null -T 5 "$1"; } +fi + set -Eeo pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. WARM_ENDPOINT=true -WARM_ENDPOINT_URL=localhost:9080/ WARM_OPENAPI_ENDPOINT=true -WARM_OPENAPI_ENDPOINT_URL=localhost:9080/openapi + +# Default warm URLs based on ENABLE_HTTP_PORT, with HTTP_PORT/HTTPS_PORT overrides. +if [ "$ENABLE_HTTP_PORT" == "true" ]; then + WARM_ENDPOINT_URL="http://localhost:${HTTP_PORT:-9080}/" +else + WARM_ENDPOINT_URL="https://localhost:${HTTPS_PORT:-9443}/" +fi +WARM_OPENAPI_ENDPOINT_URL="${WARM_ENDPOINT_URL}openapi" # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -81,10 +94,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 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 curl 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) @@ -117,11 +130,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" + http_get ${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" + 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 +165,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" + http_get ${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" + 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/full/server-http-port-enabled.xml b/releases/26.0.0.9/full/server-http-port-enabled.xml new file mode 100644 index 00000000..120800ea --- /dev/null +++ b/releases/26.0.0.9/full/server-http-port-enabled.xml @@ -0,0 +1,37 @@ + + + + + + javaee-8.0 + + + + + + + + + + + + + + + + + + + + + + diff --git a/releases/26.0.0.9/full/server.xml b/releases/26.0.0.9/full/server.xml index 120800ea..8b57a2bd 100644 --- a/releases/26.0.0.9/full/server.xml +++ b/releases/26.0.0.9/full/server.xml @@ -25,7 +25,7 @@ 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..03adfa8b 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.ibmjava8 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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..7705049e 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk11 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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..b5757284 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk17 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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..171cfd6d 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi.openjdk8 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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 9c35bb66..930df335 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 @@ -170,7 +170,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 594c403c..71bdb7c0 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 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index d68eee77..bcba2940 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 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 97545200..efb56b82 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 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index bb7ca1bd..3ceeebcd 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 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 6d11ee1a..f2212121 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 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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-minimal.ibmjava8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 index ba9301d0..d626bf03 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 @@ -109,7 +109,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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..63f61c2e 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 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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..8f162f27 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 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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..689c8ecf 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 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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..4aee7685 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 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ 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..5449ac26 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 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk11 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk11 index b07c296f..3556b7f2 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk11 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk11 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk17 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk17 index 80415b3f..ea56a05e 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk17 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk17 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk8 b/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk8 index d4971090..e9c57848 100644 --- a/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk8 +++ b/releases/26.0.0.9/kernel-slim/Dockerfile.ubuntu.openjdk8 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/26.0.0.9/kernel-slim/helpers/build/configuration_snippets/http-port-disabled.xml b/releases/26.0.0.9/kernel-slim/helpers/build/configuration_snippets/http-port-disabled.xml new file mode 100644 index 00000000..4abd49cd --- /dev/null +++ b/releases/26.0.0.9/kernel-slim/helpers/build/configuration_snippets/http-port-disabled.xml @@ -0,0 +1,4 @@ + + + + diff --git a/releases/26.0.0.9/kernel-slim/helpers/build/configuration_snippets/update-trigger-disabled.xml b/releases/26.0.0.9/kernel-slim/helpers/build/configuration_snippets/update-trigger-disabled.xml new file mode 100644 index 00000000..b97391b5 --- /dev/null +++ b/releases/26.0.0.9/kernel-slim/helpers/build/configuration_snippets/update-trigger-disabled.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/releases/26.0.0.9/kernel-slim/helpers/build/configure.sh b/releases/26.0.0.9/kernel-slim/helpers/build/configure.sh index 5341dde1..75a8bbb3 100755 --- a/releases/26.0.0.9/kernel-slim/helpers/build/configure.sh +++ b/releases/26.0.0.9/kernel-slim/helpers/build/configure.sh @@ -18,6 +18,17 @@ function main() { #Check for each Liberty value-add functionality + # Disable automatic configuration file monitoring (security hardening). + if [ "$SKIP_UPDATE_TRIGGER_DISABLED" != "true" ]; then + cp $SNIPPETS_SOURCE/update-trigger-disabled.xml $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + chmod g+rw $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + fi + + # HTTP port is disabled by default. Set ENABLE_HTTP_PORT=true to re-enable port 9080. + if [ "$ENABLE_HTTP_PORT" != "true" ]; then + cp $SNIPPETS_SOURCE/http-port-disabled.xml $SNIPPETS_TARGET_DEFAULTS/http-port-disabled.xml + fi + # Infinispan Session Caching if [[ -n "$INFINISPAN_SERVICE_NAME" ]]; then cp ${SNIPPETS_SOURCE}/infinispan-client-sessioncache.xml ${SNIPPETS_TARGET}/infinispan-client-sessioncache.xml diff --git a/releases/26.0.0.9/kernel-slim/helpers/build/features.sh b/releases/26.0.0.9/kernel-slim/helpers/build/features.sh index 5b4800eb..7595603e 100755 --- a/releases/26.0.0.9/kernel-slim/helpers/build/features.sh +++ b/releases/26.0.0.9/kernel-slim/helpers/build/features.sh @@ -26,8 +26,14 @@ fi if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then cp $SNIPPETS_SOURCE/tls.xml $SNIPPETS_TARGET/tls.xml fi - # Install necessary features using featureUtility featureUtility installServerFeatures --acceptLicense defaultServer --noCache find /opt/ol/wlp/lib /opt/ol/wlp/bin ! -perm -g=rw -print0 | xargs -0 -r chmod g+rw +# Validate the Liberty installation integrity after feature installation +if [ "$SKIP_FEATURE_VALIDATE" != "true" ]; then + /opt/ol/wlp/bin/productInfo validate +fi + +echo "features.sh script has been run" > /logs/features.log + 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..01e122d9 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 @@ -1,15 +1,28 @@ #!/bin/bash . /opt/ol/helpers/build/internal/logger.sh +# 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 --insecure "$1"; } +else + http_get() { wget -q --no-check-certificate -O /dev/null -T 5 "$1"; } +fi + set -Eeo pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. WARM_ENDPOINT=true -WARM_ENDPOINT_URL=localhost:9080/ WARM_OPENAPI_ENDPOINT=true -WARM_OPENAPI_ENDPOINT_URL=localhost:9080/openapi + +# Default warm URLs based on ENABLE_HTTP_PORT, with HTTP_PORT/HTTPS_PORT overrides. +if [ "$ENABLE_HTTP_PORT" == "true" ]; then + WARM_ENDPOINT_URL="http://localhost:${HTTP_PORT:-9080}/" +else + WARM_ENDPOINT_URL="https://localhost:${HTTPS_PORT:-9443}/" +fi +WARM_OPENAPI_ENDPOINT_URL="${WARM_ENDPOINT_URL}openapi" # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -81,10 +94,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 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 curl 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) @@ -117,11 +130,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" + http_get ${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" + 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 +165,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" + http_get ${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" + http_get ${WARM_OPENAPI_ENDPOINT_URL} 2>&1 || echo "${WARM_OPENAPI_ENDPOINT_URL} call failed, continuing" fi /opt/ol/wlp/bin/server stop From 5abf47b18e41a138505454f89705fd0ebc5a29c0 Mon Sep 17 00:00:00 2001 From: Kirby Chin Date: Thu, 27 Aug 2026 14:14:08 -0400 Subject: [PATCH 17/18] Update latest files --- .../beta/Dockerfile.ubi10-minimal.openjdk25 | 3 +- .../latest/beta/Dockerfile.ubuntu.openjdk11 | 3 +- .../latest/beta/Dockerfile.ubuntu.openjdk17 | 3 +- .../latest/beta/Dockerfile.ubuntu.openjdk8 | 3 +- .../http-port-disabled.xml | 4 ++ .../update-trigger-disabled.xml | 6 +++ .../latest/beta/helpers/build/configure.sh | 11 ++++++ .../latest/beta/helpers/build/populate_scc.sh | 31 +++++++++++----- releases/latest/full/Dockerfile.ubi.ibmjava8 | 3 +- releases/latest/full/Dockerfile.ubi.openjdk11 | 3 +- releases/latest/full/Dockerfile.ubi.openjdk17 | 3 +- releases/latest/full/Dockerfile.ubi.openjdk8 | 3 +- .../full/Dockerfile.ubi10-micro.ibmjava8 | 2 +- .../full/Dockerfile.ubi10-micro.openjdk11 | 2 +- .../full/Dockerfile.ubi10-micro.openjdk17 | 2 +- .../full/Dockerfile.ubi10-micro.openjdk21 | 2 +- .../full/Dockerfile.ubi10-micro.openjdk25 | 2 +- .../full/Dockerfile.ubi10-micro.openjdk8 | 2 +- .../full/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../full/Dockerfile.ubi10-minimal.openjdk8 | 2 +- .../latest/full/Dockerfile.ubuntu.openjdk11 | 3 +- .../latest/full/Dockerfile.ubuntu.openjdk17 | 3 +- .../latest/full/Dockerfile.ubuntu.openjdk8 | 3 +- .../latest/full/helpers/build/populate_scc.sh | 24 +++++++----- .../latest/full/server-http-port-enabled.xml | 37 +++++++++++++++++++ releases/latest/full/server.xml | 2 +- .../kernel-slim/Dockerfile.ubi.ibmjava8 | 3 +- .../kernel-slim/Dockerfile.ubi.openjdk11 | 3 +- .../kernel-slim/Dockerfile.ubi.openjdk17 | 3 +- .../kernel-slim/Dockerfile.ubi.openjdk8 | 3 +- .../Dockerfile.ubi10-micro.ibmjava8 | 2 +- .../Dockerfile.ubi10-micro.openjdk11 | 2 +- .../Dockerfile.ubi10-micro.openjdk17 | 2 +- .../Dockerfile.ubi10-micro.openjdk21 | 2 +- .../Dockerfile.ubi10-micro.openjdk25 | 2 +- .../Dockerfile.ubi10-micro.openjdk8 | 2 +- .../Dockerfile.ubi10-minimal.ibmjava8 | 3 +- .../Dockerfile.ubi10-minimal.openjdk11 | 3 +- .../Dockerfile.ubi10-minimal.openjdk17 | 3 +- .../Dockerfile.ubi10-minimal.openjdk21 | 3 +- .../Dockerfile.ubi10-minimal.openjdk25 | 3 +- .../Dockerfile.ubi10-minimal.openjdk8 | 3 +- .../kernel-slim/Dockerfile.ubuntu.openjdk11 | 3 +- .../kernel-slim/Dockerfile.ubuntu.openjdk17 | 3 +- .../kernel-slim/Dockerfile.ubuntu.openjdk8 | 3 +- .../http-port-disabled.xml | 4 ++ .../update-trigger-disabled.xml | 6 +++ .../kernel-slim/helpers/build/configure.sh | 11 ++++++ .../kernel-slim/helpers/build/features.sh | 8 +++- .../kernel-slim/helpers/build/populate_scc.sh | 24 +++++++----- 54 files changed, 204 insertions(+), 72 deletions(-) create mode 100644 releases/latest/beta/helpers/build/configuration_snippets/http-port-disabled.xml create mode 100644 releases/latest/beta/helpers/build/configuration_snippets/update-trigger-disabled.xml create mode 100644 releases/latest/full/server-http-port-enabled.xml create mode 100644 releases/latest/kernel-slim/helpers/build/configuration_snippets/http-port-disabled.xml create mode 100644 releases/latest/kernel-slim/helpers/build/configuration_snippets/update-trigger-disabled.xml diff --git a/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 b/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 index 58576aa8..d15f32a5 100644 --- a/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/latest/beta/Dockerfile.ubi10-minimal.openjdk25 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/beta/Dockerfile.ubuntu.openjdk11 b/releases/latest/beta/Dockerfile.ubuntu.openjdk11 index 90aef0f8..13c575c3 100644 --- a/releases/latest/beta/Dockerfile.ubuntu.openjdk11 +++ b/releases/latest/beta/Dockerfile.ubuntu.openjdk11 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/beta/Dockerfile.ubuntu.openjdk17 b/releases/latest/beta/Dockerfile.ubuntu.openjdk17 index de5514b3..7ae5d9c9 100644 --- a/releases/latest/beta/Dockerfile.ubuntu.openjdk17 +++ b/releases/latest/beta/Dockerfile.ubuntu.openjdk17 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/beta/Dockerfile.ubuntu.openjdk8 b/releases/latest/beta/Dockerfile.ubuntu.openjdk8 index 39b0b482..ddbcad3b 100644 --- a/releases/latest/beta/Dockerfile.ubuntu.openjdk8 +++ b/releases/latest/beta/Dockerfile.ubuntu.openjdk8 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/beta/helpers/build/configuration_snippets/http-port-disabled.xml b/releases/latest/beta/helpers/build/configuration_snippets/http-port-disabled.xml new file mode 100644 index 00000000..4abd49cd --- /dev/null +++ b/releases/latest/beta/helpers/build/configuration_snippets/http-port-disabled.xml @@ -0,0 +1,4 @@ + + + + diff --git a/releases/latest/beta/helpers/build/configuration_snippets/update-trigger-disabled.xml b/releases/latest/beta/helpers/build/configuration_snippets/update-trigger-disabled.xml new file mode 100644 index 00000000..b97391b5 --- /dev/null +++ b/releases/latest/beta/helpers/build/configuration_snippets/update-trigger-disabled.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/releases/latest/beta/helpers/build/configure.sh b/releases/latest/beta/helpers/build/configure.sh index e7b38534..41d30dfb 100755 --- a/releases/latest/beta/helpers/build/configure.sh +++ b/releases/latest/beta/helpers/build/configure.sh @@ -18,6 +18,17 @@ function main() { #Check for each Liberty value-add functionality + # Disable automatic configuration file monitoring (security hardening). + if [ "$SKIP_UPDATE_TRIGGER_DISABLED" != "true" ]; then + cp $SNIPPETS_SOURCE/update-trigger-disabled.xml $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + chmod g+rw $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + fi + + # HTTP port is disabled by default. Set ENABLE_HTTP_PORT=true to re-enable port 9080. + if [ "$ENABLE_HTTP_PORT" != "true" ]; then + cp $SNIPPETS_SOURCE/http-port-disabled.xml $SNIPPETS_TARGET_DEFAULTS/http-port-disabled.xml + fi + # MicroProfile Health if [ "$MP_HEALTH_CHECK" == "true" ]; then cp $SNIPPETS_SOURCE/mp-health-check.xml $SNIPPETS_TARGET/mp-health-check.xml diff --git a/releases/latest/beta/helpers/build/populate_scc.sh b/releases/latest/beta/helpers/build/populate_scc.sh index 98cd2038..01e122d9 100755 --- a/releases/latest/beta/helpers/build/populate_scc.sh +++ b/releases/latest/beta/helpers/build/populate_scc.sh @@ -1,15 +1,28 @@ #!/bin/bash . /opt/ol/helpers/build/internal/logger.sh +# 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 --insecure "$1"; } +else + http_get() { wget -q --no-check-certificate -O /dev/null -T 5 "$1"; } +fi + set -Eeo pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. WARM_ENDPOINT=true -WARM_ENDPOINT_URL=localhost:9080/ WARM_OPENAPI_ENDPOINT=true -WARM_OPENAPI_ENDPOINT_URL=localhost:9080/openapi + +# Default warm URLs based on ENABLE_HTTP_PORT, with HTTP_PORT/HTTPS_PORT overrides. +if [ "$ENABLE_HTTP_PORT" == "true" ]; then + WARM_ENDPOINT_URL="http://localhost:${HTTP_PORT:-9080}/" +else + WARM_ENDPOINT_URL="https://localhost:${HTTPS_PORT:-9443}/" +fi +WARM_OPENAPI_ENDPOINT_URL="${WARM_ENDPOINT_URL}openapi" # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -29,7 +42,12 @@ fi # option to revert to the old criteria, which results in AOT code that is more compatible, on average, with typical heap sizes/positions. # The option has no effect on later JDKs. # Using -XX:+IProfileDuringStartupPhase to enforce IProfiler collection during the startup phase to better populate the SCC. -export OPENJ9_JAVA_OPTIONS="-XX:+OriginalJDK8HeapSizeCompatibilityMode -XX:+IProfileDuringStartupPhase $SCC" +# Disable GCContainerHeuristics for ibmjava JVMs as workaround for ibmjava 8.0.8.70 build failures +GC_OPT="" +if [ -d "/opt/ibm/java" ]; then + GC_OPT="-XX:-GCContainerHeuristics " +fi +export OPENJ9_JAVA_OPTIONS="${GC_OPT}-XX:+OriginalJDK8HeapSizeCompatibilityMode -XX:+IProfileDuringStartupPhase $SCC" export IBM_JAVA_OPTIONS="$OPENJ9_JAVA_OPTIONS" CREATE_LAYER="$OPENJ9_JAVA_OPTIONS,createLayer,groupAccess" DESTROY_LAYER="$OPENJ9_JAVA_OPTIONS,destroy" @@ -100,13 +118,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 diff --git a/releases/latest/full/Dockerfile.ubi.ibmjava8 b/releases/latest/full/Dockerfile.ubi.ibmjava8 index e4431fc2..432f80d9 100644 --- a/releases/latest/full/Dockerfile.ubi.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi.ibmjava8 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/full/Dockerfile.ubi.openjdk11 b/releases/latest/full/Dockerfile.ubi.openjdk11 index 2ddd2f34..13f94628 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk11 +++ b/releases/latest/full/Dockerfile.ubi.openjdk11 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/full/Dockerfile.ubi.openjdk17 b/releases/latest/full/Dockerfile.ubi.openjdk17 index 2a36429a..adf8e9d6 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk17 +++ b/releases/latest/full/Dockerfile.ubi.openjdk17 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/full/Dockerfile.ubi.openjdk8 b/releases/latest/full/Dockerfile.ubi.openjdk8 index 5496f809..04b25f9a 100644 --- a/releases/latest/full/Dockerfile.ubi.openjdk8 +++ b/releases/latest/full/Dockerfile.ubi.openjdk8 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 index bafdc31a..0a4d48c1 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.ibmjava8 @@ -45,7 +45,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 index 031aee0e..0dbfdc00 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk11 @@ -44,7 +44,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 index 5522cd24..c5064ee1 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk17 @@ -44,7 +44,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 index 9818abe7..3e4945da 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk21 @@ -44,7 +44,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 index e63410f3..b65326df 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk25 @@ -44,7 +44,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 index 3aa5b51f..4c6a9df2 100644 --- a/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/latest/full/Dockerfile.ubi10-micro.openjdk8 @@ -44,7 +44,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-minimal.ibmjava8 b/releases/latest/full/Dockerfile.ubi10-minimal.ibmjava8 index 4ec65dfd..bfc8c0d3 100644 --- a/releases/latest/full/Dockerfile.ubi10-minimal.ibmjava8 +++ b/releases/latest/full/Dockerfile.ubi10-minimal.ibmjava8 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk11 b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk11 index 08ec0b9d..d36f1d3e 100644 --- a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk11 +++ b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk11 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk17 b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk17 index b380e6af..bedcb7ec 100644 --- a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk17 +++ b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk17 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk21 b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk21 index e544946c..0915cc9d 100644 --- a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk21 +++ b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk21 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk25 b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk25 index e60928c1..1b2da468 100644 --- a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk25 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk8 b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk8 index 337b806f..23fa44ce 100644 --- a/releases/latest/full/Dockerfile.ubi10-minimal.openjdk8 +++ b/releases/latest/full/Dockerfile.ubi10-minimal.openjdk8 @@ -40,7 +40,7 @@ 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/ +COPY --chown=1001:0 server-http-port-enabled.xml /config/server.xml # Create a new SCC layer RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ diff --git a/releases/latest/full/Dockerfile.ubuntu.openjdk11 b/releases/latest/full/Dockerfile.ubuntu.openjdk11 index 49e7a100..360d5379 100644 --- a/releases/latest/full/Dockerfile.ubuntu.openjdk11 +++ b/releases/latest/full/Dockerfile.ubuntu.openjdk11 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/full/Dockerfile.ubuntu.openjdk17 b/releases/latest/full/Dockerfile.ubuntu.openjdk17 index 41656199..b4b35af4 100644 --- a/releases/latest/full/Dockerfile.ubuntu.openjdk17 +++ b/releases/latest/full/Dockerfile.ubuntu.openjdk17 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/full/Dockerfile.ubuntu.openjdk8 b/releases/latest/full/Dockerfile.ubuntu.openjdk8 index 09250eec..476d68ad 100644 --- a/releases/latest/full/Dockerfile.ubuntu.openjdk8 +++ b/releases/latest/full/Dockerfile.ubuntu.openjdk8 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create --template=javaee8 \ diff --git a/releases/latest/full/helpers/build/populate_scc.sh b/releases/latest/full/helpers/build/populate_scc.sh index 1c1fc7dd..01e122d9 100755 --- a/releases/latest/full/helpers/build/populate_scc.sh +++ b/releases/latest/full/helpers/build/populate_scc.sh @@ -1,15 +1,28 @@ #!/bin/bash . /opt/ol/helpers/build/internal/logger.sh +# 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 --insecure "$1"; } +else + http_get() { wget -q --no-check-certificate -O /dev/null -T 5 "$1"; } +fi + set -Eeo pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. WARM_ENDPOINT=true -WARM_ENDPOINT_URL=localhost:9080/ WARM_OPENAPI_ENDPOINT=true -WARM_OPENAPI_ENDPOINT_URL=localhost:9080/openapi + +# Default warm URLs based on ENABLE_HTTP_PORT, with HTTP_PORT/HTTPS_PORT overrides. +if [ "$ENABLE_HTTP_PORT" == "true" ]; then + WARM_ENDPOINT_URL="http://localhost:${HTTP_PORT:-9080}/" +else + WARM_ENDPOINT_URL="https://localhost:${HTTPS_PORT:-9443}/" +fi +WARM_OPENAPI_ENDPOINT_URL="${WARM_ENDPOINT_URL}openapi" # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -105,13 +118,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 diff --git a/releases/latest/full/server-http-port-enabled.xml b/releases/latest/full/server-http-port-enabled.xml new file mode 100644 index 00000000..120800ea --- /dev/null +++ b/releases/latest/full/server-http-port-enabled.xml @@ -0,0 +1,37 @@ + + + + + + javaee-8.0 + + + + + + + + + + + + + + + + + + + + + + diff --git a/releases/latest/full/server.xml b/releases/latest/full/server.xml index 120800ea..8b57a2bd 100644 --- a/releases/latest/full/server.xml +++ b/releases/latest/full/server.xml @@ -25,7 +25,7 @@ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 index 758d21c1..03adfa8b 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.ibmjava8 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 index d7edac51..7705049e 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk11 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 index 5288e978..b5757284 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk17 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 index 4d5e8cd3..171cfd6d 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi.openjdk8 @@ -99,7 +99,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 index 9c35bb66..930df335 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.ibmjava8 @@ -170,7 +170,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 594c403c..71bdb7c0 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk11 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index d68eee77..bcba2940 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk17 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 97545200..efb56b82 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk21 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index bb7ca1bd..3ceeebcd 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk25 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 6d11ee1a..f2212121 100755 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-micro.openjdk8 @@ -157,7 +157,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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-minimal.ibmjava8 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 index ba9301d0..d626bf03 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.ibmjava8 @@ -109,7 +109,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 index 7c010a0f..63f61c2e 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk11 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 index af653730..8f162f27 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk17 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 index 8ca52bfe..689c8ecf 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk21 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 index 096bab68..4aee7685 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk25 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 index e46ed4ea..5449ac26 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubi10-minimal.openjdk8 @@ -100,7 +100,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk11 b/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk11 index b07c296f..3556b7f2 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk11 +++ b/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk11 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk17 b/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk17 index 80415b3f..ea56a05e 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk17 +++ b/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk17 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk8 b/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk8 index d4971090..e9c57848 100644 --- a/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk8 +++ b/releases/latest/kernel-slim/Dockerfile.ubuntu.openjdk8 @@ -77,7 +77,8 @@ 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 + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure Open Liberty RUN /opt/ol/wlp/bin/server create \ diff --git a/releases/latest/kernel-slim/helpers/build/configuration_snippets/http-port-disabled.xml b/releases/latest/kernel-slim/helpers/build/configuration_snippets/http-port-disabled.xml new file mode 100644 index 00000000..4abd49cd --- /dev/null +++ b/releases/latest/kernel-slim/helpers/build/configuration_snippets/http-port-disabled.xml @@ -0,0 +1,4 @@ + + + + diff --git a/releases/latest/kernel-slim/helpers/build/configuration_snippets/update-trigger-disabled.xml b/releases/latest/kernel-slim/helpers/build/configuration_snippets/update-trigger-disabled.xml new file mode 100644 index 00000000..b97391b5 --- /dev/null +++ b/releases/latest/kernel-slim/helpers/build/configuration_snippets/update-trigger-disabled.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/releases/latest/kernel-slim/helpers/build/configure.sh b/releases/latest/kernel-slim/helpers/build/configure.sh index 5341dde1..75a8bbb3 100755 --- a/releases/latest/kernel-slim/helpers/build/configure.sh +++ b/releases/latest/kernel-slim/helpers/build/configure.sh @@ -18,6 +18,17 @@ function main() { #Check for each Liberty value-add functionality + # Disable automatic configuration file monitoring (security hardening). + if [ "$SKIP_UPDATE_TRIGGER_DISABLED" != "true" ]; then + cp $SNIPPETS_SOURCE/update-trigger-disabled.xml $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + chmod g+rw $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + fi + + # HTTP port is disabled by default. Set ENABLE_HTTP_PORT=true to re-enable port 9080. + if [ "$ENABLE_HTTP_PORT" != "true" ]; then + cp $SNIPPETS_SOURCE/http-port-disabled.xml $SNIPPETS_TARGET_DEFAULTS/http-port-disabled.xml + fi + # Infinispan Session Caching if [[ -n "$INFINISPAN_SERVICE_NAME" ]]; then cp ${SNIPPETS_SOURCE}/infinispan-client-sessioncache.xml ${SNIPPETS_TARGET}/infinispan-client-sessioncache.xml diff --git a/releases/latest/kernel-slim/helpers/build/features.sh b/releases/latest/kernel-slim/helpers/build/features.sh index 5b4800eb..7595603e 100755 --- a/releases/latest/kernel-slim/helpers/build/features.sh +++ b/releases/latest/kernel-slim/helpers/build/features.sh @@ -26,8 +26,14 @@ fi if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then cp $SNIPPETS_SOURCE/tls.xml $SNIPPETS_TARGET/tls.xml fi - # Install necessary features using featureUtility featureUtility installServerFeatures --acceptLicense defaultServer --noCache find /opt/ol/wlp/lib /opt/ol/wlp/bin ! -perm -g=rw -print0 | xargs -0 -r chmod g+rw +# Validate the Liberty installation integrity after feature installation +if [ "$SKIP_FEATURE_VALIDATE" != "true" ]; then + /opt/ol/wlp/bin/productInfo validate +fi + +echo "features.sh script has been run" > /logs/features.log + diff --git a/releases/latest/kernel-slim/helpers/build/populate_scc.sh b/releases/latest/kernel-slim/helpers/build/populate_scc.sh index 1c1fc7dd..01e122d9 100755 --- a/releases/latest/kernel-slim/helpers/build/populate_scc.sh +++ b/releases/latest/kernel-slim/helpers/build/populate_scc.sh @@ -1,15 +1,28 @@ #!/bin/bash . /opt/ol/helpers/build/internal/logger.sh +# 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 --insecure "$1"; } +else + http_get() { wget -q --no-check-certificate -O /dev/null -T 5 "$1"; } +fi + set -Eeo pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. WARM_ENDPOINT=true -WARM_ENDPOINT_URL=localhost:9080/ WARM_OPENAPI_ENDPOINT=true -WARM_OPENAPI_ENDPOINT_URL=localhost:9080/openapi + +# Default warm URLs based on ENABLE_HTTP_PORT, with HTTP_PORT/HTTPS_PORT overrides. +if [ "$ENABLE_HTTP_PORT" == "true" ]; then + WARM_ENDPOINT_URL="http://localhost:${HTTP_PORT:-9080}/" +else + WARM_ENDPOINT_URL="https://localhost:${HTTPS_PORT:-9443}/" +fi +WARM_OPENAPI_ENDPOINT_URL="${WARM_ENDPOINT_URL}openapi" # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -105,13 +118,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 From 288f0408063997da5e834beda69f9c86fe36d2fa Mon Sep 17 00:00:00 2001 From: Kirby Chin Date: Thu, 27 Aug 2026 16:20:25 -0400 Subject: [PATCH 18/18] Add 26.0.0.9 full helper scripts --- .../http-port-disabled.xml | 4 ++ .../update-trigger-disabled.xml | 6 +++ .../26.0.0.9/full/helpers/build/configure.sh | 11 ++++++ .../26.0.0.9/full/helpers/build/features.sh | 39 +++++++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 releases/26.0.0.9/full/helpers/build/configuration_snippets/http-port-disabled.xml create mode 100644 releases/26.0.0.9/full/helpers/build/configuration_snippets/update-trigger-disabled.xml create mode 100755 releases/26.0.0.9/full/helpers/build/features.sh diff --git a/releases/26.0.0.9/full/helpers/build/configuration_snippets/http-port-disabled.xml b/releases/26.0.0.9/full/helpers/build/configuration_snippets/http-port-disabled.xml new file mode 100644 index 00000000..4abd49cd --- /dev/null +++ b/releases/26.0.0.9/full/helpers/build/configuration_snippets/http-port-disabled.xml @@ -0,0 +1,4 @@ + + + + diff --git a/releases/26.0.0.9/full/helpers/build/configuration_snippets/update-trigger-disabled.xml b/releases/26.0.0.9/full/helpers/build/configuration_snippets/update-trigger-disabled.xml new file mode 100644 index 00000000..b97391b5 --- /dev/null +++ b/releases/26.0.0.9/full/helpers/build/configuration_snippets/update-trigger-disabled.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/releases/26.0.0.9/full/helpers/build/configure.sh b/releases/26.0.0.9/full/helpers/build/configure.sh index e7b38534..41d30dfb 100755 --- a/releases/26.0.0.9/full/helpers/build/configure.sh +++ b/releases/26.0.0.9/full/helpers/build/configure.sh @@ -18,6 +18,17 @@ function main() { #Check for each Liberty value-add functionality + # Disable automatic configuration file monitoring (security hardening). + if [ "$SKIP_UPDATE_TRIGGER_DISABLED" != "true" ]; then + cp $SNIPPETS_SOURCE/update-trigger-disabled.xml $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + chmod g+rw $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + fi + + # HTTP port is disabled by default. Set ENABLE_HTTP_PORT=true to re-enable port 9080. + if [ "$ENABLE_HTTP_PORT" != "true" ]; then + cp $SNIPPETS_SOURCE/http-port-disabled.xml $SNIPPETS_TARGET_DEFAULTS/http-port-disabled.xml + fi + # MicroProfile Health if [ "$MP_HEALTH_CHECK" == "true" ]; then cp $SNIPPETS_SOURCE/mp-health-check.xml $SNIPPETS_TARGET/mp-health-check.xml diff --git a/releases/26.0.0.9/full/helpers/build/features.sh b/releases/26.0.0.9/full/helpers/build/features.sh new file mode 100755 index 00000000..7595603e --- /dev/null +++ b/releases/26.0.0.9/full/helpers/build/features.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +. /opt/ol/helpers/build/internal/logger.sh + +set -Eeo pipefail + +##Define variables for XML snippets source and target paths +SNIPPETS_SOURCE=/opt/ol/helpers/build/configuration_snippets +SNIPPETS_TARGET=/config/configDropins/overrides +SNIPPETS_TARGET_DEFAULTS=/config/configDropins/defaults +mkdir -p ${SNIPPETS_TARGET} +mkdir -p ${SNIPPETS_TARGET_DEFAULTS} + +# Session Caching +if [ -n "$INFINISPAN_SERVICE_NAME" ] || [ "${HZ_SESSION_CACHE}" == "client" ] || [ "${HZ_SESSION_CACHE}" == "embedded" ]; then + cp ${SNIPPETS_SOURCE}/sessioncache-features.xml ${SNIPPETS_TARGET}/sessioncache-features.xml + chmod g+rw $SNIPPETS_TARGET/sessioncache-features.xml +fi + +# SSO +if [[ -n "$SEC_SSO_PROVIDERS" ]]; then + cp $SNIPPETS_SOURCE/sso-features.xml $SNIPPETS_TARGET_DEFAULTS +fi + +# Key Store +if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then + cp $SNIPPETS_SOURCE/tls.xml $SNIPPETS_TARGET/tls.xml +fi +# Install necessary features using featureUtility +featureUtility installServerFeatures --acceptLicense defaultServer --noCache +find /opt/ol/wlp/lib /opt/ol/wlp/bin ! -perm -g=rw -print0 | xargs -0 -r chmod g+rw + +# Validate the Liberty installation integrity after feature installation +if [ "$SKIP_FEATURE_VALIDATE" != "true" ]; then + /opt/ol/wlp/bin/productInfo validate +fi + +echo "features.sh script has been run" > /logs/features.log +