From f5ccc5d0fba049adb95719538b75fcb62de78422 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Tue, 11 Aug 2026 17:09:38 -0400 Subject: [PATCH 1/9] Add UBI 10 micro based Dockerfiles --- .../full/Dockerfile.ubi10-micro.ibmjava8 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk11 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk17 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk21 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk25 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk8 | 51 +++++ .../kernel/Dockerfile.ubi10-micro.ibmjava8 | 203 ++++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk11 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk17 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk21 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk25 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk8 | 191 ++++++++++++++++ .../kernel/helpers/build/populate_scc.sh | 12 +- 13 files changed, 1470 insertions(+), 6 deletions(-) create mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 create mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 create mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 create mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 create mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 create mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 create mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 create mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 create mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 create mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 create mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 create mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 new file mode 100644 index 00000000..c6d0f867 --- /dev/null +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2025, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java8-ibmjava-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java8-ibmjava-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -path "*.classCache*" ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 new file mode 100644 index 00000000..1859c192 --- /dev/null +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java11-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java11-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 new file mode 100644 index 00000000..475588e4 --- /dev/null +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java17-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java17-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 new file mode 100644 index 00000000..77fc96c6 --- /dev/null +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java21-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java21-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 new file mode 100644 index 00000000..4dd5884d --- /dev/null +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java25-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java25-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 new file mode 100644 index 00000000..db9716ea --- /dev/null +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java8-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java8-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 new file mode 100644 index 00000000..b2b99f1b --- /dev/null +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -0,0 +1,203 @@ +# (C) Copyright IBM Corporation 2025, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# 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 VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ +# This is removed compared to the UBI8 dockerfile as the base +# java dockerfile already adds this user +# && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM's Java and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 new file mode 100644 index 00000000..f9b99652 --- /dev/null +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 new file mode 100644 index 00000000..dcb39a36 --- /dev/null +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 new file mode 100644 index 00000000..1dd4890d --- /dev/null +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 new file mode 100644 index 00000000..9d373a91 --- /dev/null +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 new file mode 100644 index 00000000..0ddff3cb --- /dev/null +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh b/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh index 661f253b..57f93d04 100755 --- a/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh +++ b/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh @@ -97,10 +97,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) @@ -133,11 +133,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/ibm/wlp/bin/server stop @@ -168,11 +168,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/ibm/wlp/bin/server stop From ce96cef48eca51d516e6619513b6c10b8861dc40 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Thu, 13 Aug 2026 09:34:53 -0400 Subject: [PATCH 2/9] IBM Java 8 image edit --- ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 index b2b99f1b..3a4d8631 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -81,7 +81,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 fbca4739583a527369af6268da21dc4d94e6d03a Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 11:44:46 -0400 Subject: [PATCH 3/9] Add latest and wget changes --- ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 | 2 +- ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 | 2 +- ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 | 2 +- ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 | 2 +- .../kernel/Dockerfile.ubi10-micro.ibmjava8 | 6 +- .../kernel/Dockerfile.ubi10-micro.openjdk11 | 6 +- .../kernel/Dockerfile.ubi10-micro.openjdk17 | 6 +- .../kernel/Dockerfile.ubi10-micro.openjdk21 | 6 +- .../kernel/Dockerfile.ubi10-micro.openjdk25 | 6 +- .../kernel/Dockerfile.ubi10-micro.openjdk8 | 6 +- .../kernel/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk8 | 2 +- ga/26.0.0.8/kernel/helpers/build/configure.sh | 2 +- .../full/Dockerfile.ubi10-micro.ibmjava8 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk11 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk17 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk21 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk25 | 51 +++++ .../full/Dockerfile.ubi10-micro.openjdk8 | 51 +++++ ga/latest/kernel/Dockerfile.ubi.ibmjava8 | 2 +- ga/latest/kernel/Dockerfile.ubi.openjdk11 | 2 +- ga/latest/kernel/Dockerfile.ubi.openjdk17 | 2 +- ga/latest/kernel/Dockerfile.ubi.openjdk8 | 2 +- .../kernel/Dockerfile.ubi10-micro.ibmjava8 | 203 ++++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk11 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk17 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk21 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk25 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-micro.openjdk8 | 191 ++++++++++++++++ .../kernel/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk8 | 2 +- ga/latest/kernel/helpers/build/configure.sh | 2 +- .../kernel/helpers/build/populate_scc.sh | 12 +- 41 files changed, 1510 insertions(+), 46 deletions(-) create mode 100644 ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 create mode 100644 ga/latest/full/Dockerfile.ubi10-micro.openjdk11 create mode 100644 ga/latest/full/Dockerfile.ubi10-micro.openjdk17 create mode 100644 ga/latest/full/Dockerfile.ubi10-micro.openjdk21 create mode 100644 ga/latest/full/Dockerfile.ubi10-micro.openjdk25 create mode 100644 ga/latest/full/Dockerfile.ubi10-micro.openjdk8 create mode 100644 ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 create mode 100644 ga/latest/kernel/Dockerfile.ubi10-micro.openjdk11 create mode 100644 ga/latest/kernel/Dockerfile.ubi10-micro.openjdk17 create mode 100644 ga/latest/kernel/Dockerfile.ubi10-micro.openjdk21 create mode 100644 ga/latest/kernel/Dockerfile.ubi10-micro.openjdk25 create mode 100644 ga/latest/kernel/Dockerfile.ubi10-micro.openjdk8 diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 index 8997224e..78a73355 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 index 23e3d4f9..cf7ee59a 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 @@ -115,7 +115,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 index d0175b0e..7a1cc4a5 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 index ea065b4c..88336d04 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 index 3a4d8631..6d1e9c77 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -97,15 +97,15 @@ LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ org.opencontainers.image.version="$LIBERTY_VERSION" \ org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ org.opencontainers.image.title="IBM WebSphere Liberty" \ liberty.version="$LIBERTY_VERSION" \ com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ vendor="IBM" \ name="IBM WebSphere Liberty" \ version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM's Java and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + summary="Image for WebSphere Liberty with IBM's Java and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 index f9b99652..0279b552 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 @@ -85,15 +85,15 @@ LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ org.opencontainers.image.version="$LIBERTY_VERSION" \ org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ org.opencontainers.image.title="IBM WebSphere Liberty" \ liberty.version="$LIBERTY_VERSION" \ com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ vendor="IBM" \ name="IBM WebSphere Liberty" \ version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 index dcb39a36..6e109d80 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 @@ -85,15 +85,15 @@ LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ org.opencontainers.image.version="$LIBERTY_VERSION" \ org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ org.opencontainers.image.title="IBM WebSphere Liberty" \ liberty.version="$LIBERTY_VERSION" \ com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ vendor="IBM" \ name="IBM WebSphere Liberty" \ version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 index 1dd4890d..ae19d839 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 @@ -85,15 +85,15 @@ LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ org.opencontainers.image.version="$LIBERTY_VERSION" \ org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ org.opencontainers.image.title="IBM WebSphere Liberty" \ liberty.version="$LIBERTY_VERSION" \ com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ vendor="IBM" \ name="IBM WebSphere Liberty" \ version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 index 9d373a91..3bd65fbb 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 @@ -85,15 +85,15 @@ LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ org.opencontainers.image.version="$LIBERTY_VERSION" \ org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ org.opencontainers.image.title="IBM WebSphere Liberty" \ liberty.version="$LIBERTY_VERSION" \ com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ vendor="IBM" \ name="IBM WebSphere Liberty" \ version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 index 0ddff3cb..bdda07c6 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 @@ -85,15 +85,15 @@ LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ org.opencontainers.image.version="$LIBERTY_VERSION" \ org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ org.opencontainers.image.title="IBM WebSphere Liberty" \ liberty.version="$LIBERTY_VERSION" \ com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ vendor="IBM" \ name="IBM WebSphere Liberty" \ version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8 index d86da65b..4a80edf8 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8 @@ -116,7 +116,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 \ # This is removed compared to the UBI8 dockerfile as the base # java dockerfile already adds this user # && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk11 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk11 index cd88363b..584bbe36 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk11 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk11 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk17 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk17 index f8fbbc09..30288329 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk17 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk17 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk21 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk21 index 5818627b..da4783a0 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk21 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk21 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk25 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk25 index b5a71c37..c842ee49 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk25 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk25 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk8 index 9f6a02b3..40a09225 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk8 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/helpers/build/configure.sh b/ga/26.0.0.8/kernel/helpers/build/configure.sh index a1ed2062..32230b52 100755 --- a/ga/26.0.0.8/kernel/helpers/build/configure.sh +++ b/ga/26.0.0.8/kernel/helpers/build/configure.sh @@ -142,7 +142,7 @@ function main() { if [ "$SKIP_FEATURE_INSTALL" != "true" ] && [ "$FEATURES_INSTALLED" == "false" ]; then # Install needed features if [ "$FEATURE_REPO_URL" ]; then - curl -k --fail $FEATURE_REPO_URL > /tmp/repo.zip + wget -q --no-check-certificate -O /tmp/repo.zip $FEATURE_REPO_URL installUtility install --acceptLicense defaultServer --from=/tmp/repo.zip || rc=$?; if [ $rc -ne 22 ]; then exit $rc; fi rm -rf /tmp/repo.zip else diff --git a/ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 b/ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 new file mode 100644 index 00000000..91c00303 --- /dev/null +++ b/ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2025, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java8-ibmjava-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java8-ibmjava-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -path "*.classCache*" ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk11 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk11 new file mode 100644 index 00000000..dc21b83c --- /dev/null +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk11 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java11-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java11-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk17 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk17 new file mode 100644 index 00000000..53dc3513 --- /dev/null +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk17 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk21 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk21 new file mode 100644 index 00000000..6814055a --- /dev/null +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk21 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java21-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java21-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk25 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk25 new file mode 100644 index 00000000..731b48b9 --- /dev/null +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java25-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java25-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk8 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk8 new file mode 100644 index 00000000..17bb36c0 --- /dev/null +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk8 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java8-openj9-ubi-micro +FROM $PARENT_IMAGE AS installBundle + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# If there is a local copy of the repository use that instead +COPY resources/ /tmp/ + +# Install the base bundle +RUN set -eux; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + mkdir /opt/ibm/wlp/etc/; \ + echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ + installUtility install --acceptLicense baseBundle; \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + elif [ -f /tmp/wlpRepo.zip ]; then \ + installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ + else \ + installUtility install --acceptLicense baseBundle; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:kernel-java8-openj9-ubi-micro +FROM $PARENT_IMAGE +ARG VERBOSE=false + +# Copy the runtime +COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index 8997224e..78a73355 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index 23e3d4f9..cf7ee59a 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -115,7 +115,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index d0175b0e..7a1cc4a5 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index ea065b4c..88336d04 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install openssl \ +RUN yum -y install wget openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 new file mode 100644 index 00000000..6d1e9c77 --- /dev/null +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -0,0 +1,203 @@ +# (C) Copyright IBM Corporation 2025, 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# 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 VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ +# This is removed compared to the UBI8 dockerfile as the base +# java dockerfile already adds this user +# && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM's Java and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk11 b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk11 new file mode 100644 index 00000000..0279b552 --- /dev/null +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk11 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk17 b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk17 new file mode 100644 index 00000000..6e109d80 --- /dev/null +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk17 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk21 b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk21 new file mode 100644 index 00000000..ae19d839 --- /dev/null +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk21 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk25 b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk25 new file mode 100644 index 00000000..3bd65fbb --- /dev/null +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk25 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk8 b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk8 new file mode 100644 index 00000000..bdda07c6 --- /dev/null +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk8 @@ -0,0 +1,191 @@ +# (C) Copyright IBM Corporation 2026. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN microdnf -y install shadow-utils unzip wget openssl \ + && mkdir -p /licenses \ + && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ + && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ + && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ + +# 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 VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=26.0.0.8 +ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ + org.opencontainers.image.vendor="IBM" \ + org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ + org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ + org.opencontainers.image.version="$LIBERTY_VERSION" \ + org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ + org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ + org.opencontainers.image.title="IBM WebSphere Liberty" \ + liberty.version="$LIBERTY_VERSION" \ + com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp +COPY --from=builder /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/liberty/logs \ + WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ + OPENJ9_SCC=$OPENJ9_SCC + +# Configure WebSphere Liberty +RUN /opt/ibm/wlp/bin/server create \ + && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ + && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env + +COPY NOTICES /opt/ibm/NOTICES +COPY helpers/ /opt/ibm/helpers/ +COPY fixes/ /opt/ibm/fixes/ + +# Create symlinks && set permissions for non-root user +RUN mkdir /logs \ + && chown -R 1001:0 /logs \ + && chmod -R g+rw /logs \ + && mkdir /etc/wlp \ + && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ + && mkdir -p /home/default \ + && mkdir /output \ + && chmod -t /output \ + && rm -rf /output \ + && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ + && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ + && ln -s /opt/ibm/wlp /liberty \ + && ln -s /opt/ibm/fixes /fixes \ + && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ + && mkdir -p /config/configDropins/defaults \ + && mkdir -p /config/configDropins/overrides \ + && chown -R 1001:0 /config \ + && chmod -R g+rw /config \ + && chown -R 1001:0 /opt/ibm/helpers \ + && chmod -R ug+rwx /opt/ibm/helpers \ + && chown -R 1001:0 /opt/ibm/fixes \ + && chmod -R g+rwx /opt/ibm/fixes \ + && chown -R 1001:0 /opt/ibm/wlp/usr \ + && chmod -R g+rw /opt/ibm/wlp/usr \ + && chown -R 1001:0 /opt/ibm/wlp/output \ + && chmod -R g+rw /opt/ibm/wlp/output \ + && 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 \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default \ + && 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/ibm/wlp/output \ + && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] +CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 index d86da65b..4a80edf8 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 @@ -116,7 +116,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 \ # This is removed compared to the UBI8 dockerfile as the base # java dockerfile already adds this user # && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 index cd88363b..584bbe36 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 index f8fbbc09..30288329 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 index 5818627b..da4783a0 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 index b5a71c37..c842ee49 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 index 9f6a02b3..40a09225 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index a1ed2062..32230b52 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -142,7 +142,7 @@ function main() { if [ "$SKIP_FEATURE_INSTALL" != "true" ] && [ "$FEATURES_INSTALLED" == "false" ]; then # Install needed features if [ "$FEATURE_REPO_URL" ]; then - curl -k --fail $FEATURE_REPO_URL > /tmp/repo.zip + wget -q --no-check-certificate -O /tmp/repo.zip $FEATURE_REPO_URL installUtility install --acceptLicense defaultServer --from=/tmp/repo.zip || rc=$?; if [ $rc -ne 22 ]; then exit $rc; fi rm -rf /tmp/repo.zip else diff --git a/ga/latest/kernel/helpers/build/populate_scc.sh b/ga/latest/kernel/helpers/build/populate_scc.sh index 661f253b..57f93d04 100755 --- a/ga/latest/kernel/helpers/build/populate_scc.sh +++ b/ga/latest/kernel/helpers/build/populate_scc.sh @@ -97,10 +97,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) @@ -133,11 +133,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/ibm/wlp/bin/server stop @@ -168,11 +168,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/ibm/wlp/bin/server stop From 55a5639149c64b53fb62b9f4a65423a02255639d Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 13:17:50 -0400 Subject: [PATCH 4/9] Use curl if exists, if not use wget --- ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 | 2 +- ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 | 2 +- ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 | 2 +- ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 | 2 +- .../kernel/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk8 | 2 +- ga/26.0.0.8/kernel/helpers/build/configure.sh | 9 ++++++++- ga/26.0.0.8/kernel/helpers/build/populate_scc.sh | 15 +++++++++++---- ga/latest/kernel/Dockerfile.ubi.ibmjava8 | 2 +- ga/latest/kernel/Dockerfile.ubi.openjdk11 | 2 +- ga/latest/kernel/Dockerfile.ubi.openjdk17 | 2 +- ga/latest/kernel/Dockerfile.ubi.openjdk8 | 2 +- .../kernel/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk11 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk17 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk21 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk25 | 2 +- .../kernel/Dockerfile.ubi10-minimal.openjdk8 | 2 +- ga/latest/kernel/helpers/build/configure.sh | 9 ++++++++- ga/latest/kernel/helpers/build/populate_scc.sh | 15 +++++++++++---- 24 files changed, 58 insertions(+), 30 deletions(-) diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 index 78a73355..8997224e 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi.ibmjava8 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 index cf7ee59a..23e3d4f9 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk11 @@ -115,7 +115,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 index 7a1cc4a5..d0175b0e 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk17 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 index 88336d04..ea065b4c 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi.openjdk8 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8 index 4a80edf8..d86da65b 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8 @@ -116,7 +116,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 \ # This is removed compared to the UBI8 dockerfile as the base # java dockerfile already adds this user # && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk11 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk11 index 584bbe36..cd88363b 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk11 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk11 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk17 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk17 index 30288329..f8fbbc09 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk17 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk17 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk21 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk21 index da4783a0..5818627b 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk21 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk21 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk25 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk25 index c842ee49..b5a71c37 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk25 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk25 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk8 index 40a09225..9f6a02b3 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.openjdk8 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/26.0.0.8/kernel/helpers/build/configure.sh b/ga/26.0.0.8/kernel/helpers/build/configure.sh index 32230b52..78d30f37 100755 --- a/ga/26.0.0.8/kernel/helpers/build/configure.sh +++ b/ga/26.0.0.8/kernel/helpers/build/configure.sh @@ -13,6 +13,13 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Use curl if available, otherwise use wget +if command -v curl > /dev/null 2>&1; then + http_download() { curl -sS --insecure -o "$1" "$2"; } +else + http_download() { wget -q --no-check-certificate -O "$1" "$2"; } +fi + # Determine if featureUtility ran in an earlier build step if /opt/ibm/helpers/build/internal/features-installed.sh; then FEATURES_INSTALLED=true @@ -142,7 +149,7 @@ function main() { if [ "$SKIP_FEATURE_INSTALL" != "true" ] && [ "$FEATURES_INSTALLED" == "false" ]; then # Install needed features if [ "$FEATURE_REPO_URL" ]; then - wget -q --no-check-certificate -O /tmp/repo.zip $FEATURE_REPO_URL + http_download /tmp/repo.zip $FEATURE_REPO_URL installUtility install --acceptLicense defaultServer --from=/tmp/repo.zip || rc=$?; if [ $rc -ne 22 ]; then exit $rc; fi rm -rf /tmp/repo.zip else diff --git a/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh b/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh index 57f93d04..772d23c9 100755 --- a/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh +++ b/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh @@ -14,6 +14,13 @@ # limitations under the License. . /opt/ibm/helpers/build/internal/logger.sh +# 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 + set -Eeo pipefail # 32-bit JVMs don't supported multi-layered SCCs. @@ -133,11 +140,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/ibm/wlp/bin/server stop @@ -168,11 +175,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/ibm/wlp/bin/server stop diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index 78a73355..8997224e 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index cf7ee59a..23e3d4f9 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -115,7 +115,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index 7a1cc4a5..d0175b0e 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index 88336d04..ea065b4c 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -114,7 +114,7 @@ RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp COPY --from=getRuntime /licenses /licenses -RUN yum -y install wget openssl \ +RUN yum -y install openssl \ && yum clean all # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 index 4a80edf8..d86da65b 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 @@ -116,7 +116,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 \ # This is removed compared to the UBI8 dockerfile as the base # java dockerfile already adds this user # && adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 index 584bbe36..cd88363b 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 index 30288329..f8fbbc09 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 index da4783a0..5818627b 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 index c842ee49..b5a71c37 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 index 40a09225..9f6a02b3 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 @@ -104,7 +104,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/ibm/wlp \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index 32230b52..78d30f37 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -13,6 +13,13 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Use curl if available, otherwise use wget +if command -v curl > /dev/null 2>&1; then + http_download() { curl -sS --insecure -o "$1" "$2"; } +else + http_download() { wget -q --no-check-certificate -O "$1" "$2"; } +fi + # Determine if featureUtility ran in an earlier build step if /opt/ibm/helpers/build/internal/features-installed.sh; then FEATURES_INSTALLED=true @@ -142,7 +149,7 @@ function main() { if [ "$SKIP_FEATURE_INSTALL" != "true" ] && [ "$FEATURES_INSTALLED" == "false" ]; then # Install needed features if [ "$FEATURE_REPO_URL" ]; then - wget -q --no-check-certificate -O /tmp/repo.zip $FEATURE_REPO_URL + http_download /tmp/repo.zip $FEATURE_REPO_URL installUtility install --acceptLicense defaultServer --from=/tmp/repo.zip || rc=$?; if [ $rc -ne 22 ]; then exit $rc; fi rm -rf /tmp/repo.zip else diff --git a/ga/latest/kernel/helpers/build/populate_scc.sh b/ga/latest/kernel/helpers/build/populate_scc.sh index 57f93d04..772d23c9 100755 --- a/ga/latest/kernel/helpers/build/populate_scc.sh +++ b/ga/latest/kernel/helpers/build/populate_scc.sh @@ -14,6 +14,13 @@ # limitations under the License. . /opt/ibm/helpers/build/internal/logger.sh +# 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 + set -Eeo pipefail # 32-bit JVMs don't supported multi-layered SCCs. @@ -133,11 +140,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/ibm/wlp/bin/server stop @@ -168,11 +175,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/ibm/wlp/bin/server stop From 33c9680affad2930893563b785cdf0947a91b9cb Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 13:42:16 -0400 Subject: [PATCH 5/9] Edit comments --- ga/26.0.0.8/kernel/helpers/build/configure.sh | 2 +- ga/26.0.0.8/kernel/helpers/build/populate_scc.sh | 6 +++--- ga/latest/kernel/helpers/build/configure.sh | 2 +- ga/latest/kernel/helpers/build/populate_scc.sh | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ga/26.0.0.8/kernel/helpers/build/configure.sh b/ga/26.0.0.8/kernel/helpers/build/configure.sh index 78d30f37..ddacb7cd 100755 --- a/ga/26.0.0.8/kernel/helpers/build/configure.sh +++ b/ga/26.0.0.8/kernel/helpers/build/configure.sh @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Use curl if available, otherwise use wget +# Use curl/wget to warm endpoints if command -v curl > /dev/null 2>&1; then http_download() { curl -sS --insecure -o "$1" "$2"; } else diff --git a/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh b/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh index 772d23c9..a74c52a9 100755 --- a/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh +++ b/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh @@ -14,7 +14,7 @@ # limitations under the License. . /opt/ibm/helpers/build/internal/logger.sh -# 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 @@ -104,10 +104,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) diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index 78d30f37..ddacb7cd 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Use curl if available, otherwise use wget +# Use curl/wget to warm endpoints if command -v curl > /dev/null 2>&1; then http_download() { curl -sS --insecure -o "$1" "$2"; } else diff --git a/ga/latest/kernel/helpers/build/populate_scc.sh b/ga/latest/kernel/helpers/build/populate_scc.sh index 772d23c9..a74c52a9 100755 --- a/ga/latest/kernel/helpers/build/populate_scc.sh +++ b/ga/latest/kernel/helpers/build/populate_scc.sh @@ -14,7 +14,7 @@ # limitations under the License. . /opt/ibm/helpers/build/internal/logger.sh -# 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 @@ -104,10 +104,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) From b2deae60883a295c1858857307d1199f53096477 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Fri, 14 Aug 2026 14:05:15 -0400 Subject: [PATCH 6/9] Add shared libraries --- ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 | 4 ++++ ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 index 6d1e9c77..22af11f9 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -130,6 +130,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/ibm/wlp /opt/ibm/wlp diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 index 6d1e9c77..22af11f9 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -130,6 +130,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/ibm/wlp /opt/ibm/wlp From 3ef303bc8053fed408ab32c3d63949200d04adb6 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Mon, 17 Aug 2026 10:53:15 -0400 Subject: [PATCH 7/9] Copyright changes --- ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 | 2 +- ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 | 2 +- ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 | 2 +- ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 | 2 +- ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 | 2 +- ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 | 2 +- ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 | 4 ++-- ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 | 2 +- ga/latest/full/Dockerfile.ubi10-micro.openjdk11 | 2 +- ga/latest/full/Dockerfile.ubi10-micro.openjdk17 | 2 +- ga/latest/full/Dockerfile.ubi10-micro.openjdk21 | 2 +- ga/latest/full/Dockerfile.ubi10-micro.openjdk25 | 2 +- ga/latest/full/Dockerfile.ubi10-micro.openjdk8 | 2 +- ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 | 4 ++-- 14 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 index c6d0f867..3cc71c18 100644 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2025, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 index 1859c192..fd513c59 100644 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 index 475588e4..61acf5de 100644 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 index 77fc96c6..6a5425af 100644 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 index 4dd5884d..cc64f5ba 100644 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 index db9716ea..d7c1b7cc 100644 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 +++ b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 index 22af11f9..4cf52a6f 100644 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2025, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 # If there is a local copy of the image use that instead COPY resources/ /tmp/ -RUN microdnf -y install shadow-utils unzip wget openssl \ +RUN microdnf -y install shadow-utils unzip wget findutils openssl \ && mkdir -p /licenses \ # This is removed compared to the UBI8 dockerfile as the base # java dockerfile already adds this user diff --git a/ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 b/ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 index 91c00303..9a31530c 100644 --- a/ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/latest/full/Dockerfile.ubi10-micro.ibmjava8 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2025, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk11 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk11 index dc21b83c..46b03d8a 100644 --- a/ga/latest/full/Dockerfile.ubi10-micro.openjdk11 +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk11 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk17 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk17 index 53dc3513..d49700c6 100644 --- a/ga/latest/full/Dockerfile.ubi10-micro.openjdk17 +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk17 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk21 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk21 index 6814055a..f0807eef 100644 --- a/ga/latest/full/Dockerfile.ubi10-micro.openjdk21 +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk21 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk25 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk25 index 731b48b9..6bf1d2d8 100644 --- a/ga/latest/full/Dockerfile.ubi10-micro.openjdk25 +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk25 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/latest/full/Dockerfile.ubi10-micro.openjdk8 b/ga/latest/full/Dockerfile.ubi10-micro.openjdk8 index 17bb36c0..1e754f63 100644 --- a/ga/latest/full/Dockerfile.ubi10-micro.openjdk8 +++ b/ga/latest/full/Dockerfile.ubi10-micro.openjdk8 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2023, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 index 22af11f9..4cf52a6f 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -1,4 +1,4 @@ -# (C) Copyright IBM Corporation 2025, 2026. +# (C) Copyright IBM Corporation 2026. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 # If there is a local copy of the image use that instead COPY resources/ /tmp/ -RUN microdnf -y install shadow-utils unzip wget openssl \ +RUN microdnf -y install shadow-utils unzip wget findutils openssl \ && mkdir -p /licenses \ # This is removed compared to the UBI8 dockerfile as the base # java dockerfile already adds this user From 88f6967105d749f1bf0a8bf0b7712607af52828d Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Mon, 17 Aug 2026 12:00:33 -0400 Subject: [PATCH 8/9] Update secrets baseline --- .secrets.baseline | 122 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 121 insertions(+), 1 deletion(-) diff --git a/.secrets.baseline b/.secrets.baseline index 81177ac2..9aea1b90 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "^.secrets.baseline$", "lines": "fbf6a96d49214c0abc6a3bc5da6e48cd|REPLACE|PWD_TRUST|SECRET|keyStore|secret|rootpwd|dbpassword" }, - "generated_at": "2026-07-30T15:45:14Z", + "generated_at": "2026-08-17T15:59:22Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -719,6 +719,66 @@ "verified_result": null } ], + "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 113, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], "ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8": [ { "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", @@ -915,6 +975,66 @@ "verified_result": null } ], + "ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 113, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/latest/kernel/Dockerfile.ubi10-micro.openjdk11": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/latest/kernel/Dockerfile.ubi10-micro.openjdk17": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/latest/kernel/Dockerfile.ubi10-micro.openjdk21": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/latest/kernel/Dockerfile.ubi10-micro.openjdk25": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], + "ga/latest/kernel/Dockerfile.ubi10-micro.openjdk8": [ + { + "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", + "is_secret": false, + "is_verified": false, + "line_number": 101, + "type": "Hex High Entropy String", + "verified_result": null + } + ], "ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8": [ { "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", From 34d0632b15f173915b24002f8ca2fb30d5ffb069 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Tue, 18 Aug 2026 10:51:38 -0400 Subject: [PATCH 9/9] Restore changes to 26.0.0.8 and change ibmjava micro base image --- .secrets.baseline | 62 +----- .../full/Dockerfile.ubi10-micro.ibmjava8 | 51 ----- .../full/Dockerfile.ubi10-micro.openjdk11 | 51 ----- .../full/Dockerfile.ubi10-micro.openjdk17 | 51 ----- .../full/Dockerfile.ubi10-micro.openjdk21 | 51 ----- .../full/Dockerfile.ubi10-micro.openjdk25 | 51 ----- .../full/Dockerfile.ubi10-micro.openjdk8 | 51 ----- .../kernel/Dockerfile.ubi10-micro.ibmjava8 | 207 ------------------ .../kernel/Dockerfile.ubi10-micro.openjdk11 | 191 ---------------- .../kernel/Dockerfile.ubi10-micro.openjdk17 | 191 ---------------- .../kernel/Dockerfile.ubi10-micro.openjdk21 | 191 ---------------- .../kernel/Dockerfile.ubi10-micro.openjdk25 | 191 ---------------- .../kernel/Dockerfile.ubi10-micro.openjdk8 | 191 ---------------- ga/26.0.0.8/kernel/helpers/build/configure.sh | 9 +- .../kernel/helpers/build/populate_scc.sh | 19 +- .../kernel/Dockerfile.ubi10-micro.ibmjava8 | 2 +- 16 files changed, 9 insertions(+), 1551 deletions(-) delete mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 delete mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 delete mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 delete mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 delete mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 delete mode 100644 ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 delete mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 delete mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 delete mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 delete mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 delete mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 delete mode 100644 ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 diff --git a/.secrets.baseline b/.secrets.baseline index 9aea1b90..5383786a 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "^.secrets.baseline$", "lines": "fbf6a96d49214c0abc6a3bc5da6e48cd|REPLACE|PWD_TRUST|SECRET|keyStore|secret|rootpwd|dbpassword" }, - "generated_at": "2026-08-17T15:59:22Z", + "generated_at": "2026-08-18T14:50:50Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -719,66 +719,6 @@ "verified_result": null } ], - "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8": [ - { - "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", - "is_secret": false, - "is_verified": false, - "line_number": 113, - "type": "Hex High Entropy String", - "verified_result": null - } - ], - "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11": [ - { - "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", - "is_secret": false, - "is_verified": false, - "line_number": 101, - "type": "Hex High Entropy String", - "verified_result": null - } - ], - "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17": [ - { - "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", - "is_secret": false, - "is_verified": false, - "line_number": 101, - "type": "Hex High Entropy String", - "verified_result": null - } - ], - "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21": [ - { - "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", - "is_secret": false, - "is_verified": false, - "line_number": 101, - "type": "Hex High Entropy String", - "verified_result": null - } - ], - "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25": [ - { - "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", - "is_secret": false, - "is_verified": false, - "line_number": 101, - "type": "Hex High Entropy String", - "verified_result": null - } - ], - "ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8": [ - { - "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", - "is_secret": false, - "is_verified": false, - "line_number": 101, - "type": "Hex High Entropy String", - "verified_result": null - } - ], "ga/26.0.0.8/kernel/Dockerfile.ubi10-minimal.ibmjava8": [ { "hashed_secret": "7083d74c46835f9b94206ff41e2e54ff946d6683", diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 deleted file mode 100644 index 3cc71c18..00000000 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.ibmjava8 +++ /dev/null @@ -1,51 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java8-ibmjava-ubi-micro -FROM $PARENT_IMAGE AS installBundle - -ARG VERBOSE=false -ARG REPOSITORIES_PROPERTIES="" - -# If there is a local copy of the repository use that instead -COPY resources/ /tmp/ - -# Install the base bundle -RUN set -eux; \ - if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ - mkdir /opt/ibm/wlp/etc/; \ - echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ - installUtility install --acceptLicense baseBundle; \ - rm /opt/ibm/wlp/etc/repositories.properties; \ - elif [ -f /tmp/wlpRepo.zip ]; then \ - installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ - else \ - installUtility install --acceptLicense baseBundle; \ - fi; \ - rm -rf /output/workarea /output/logs; \ - find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java8-ibmjava-ubi-micro -FROM $PARENT_IMAGE -ARG VERBOSE=false - -# Copy the runtime -COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -path "*.classCache*" ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 deleted file mode 100644 index fd513c59..00000000 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk11 +++ /dev/null @@ -1,51 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java11-openj9-ubi-micro -FROM $PARENT_IMAGE AS installBundle - -ARG VERBOSE=false -ARG REPOSITORIES_PROPERTIES="" - -# If there is a local copy of the repository use that instead -COPY resources/ /tmp/ - -# Install the base bundle -RUN set -eux; \ - if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ - mkdir /opt/ibm/wlp/etc/; \ - echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ - installUtility install --acceptLicense baseBundle; \ - rm /opt/ibm/wlp/etc/repositories.properties; \ - elif [ -f /tmp/wlpRepo.zip ]; then \ - installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ - else \ - installUtility install --acceptLicense baseBundle; \ - fi; \ - rm -rf /output/workarea /output/logs; \ - find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java11-openj9-ubi-micro -FROM $PARENT_IMAGE -ARG VERBOSE=false - -# Copy the runtime -COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 deleted file mode 100644 index 61acf5de..00000000 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk17 +++ /dev/null @@ -1,51 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java17-openj9-ubi-micro -FROM $PARENT_IMAGE AS installBundle - -ARG VERBOSE=false -ARG REPOSITORIES_PROPERTIES="" - -# If there is a local copy of the repository use that instead -COPY resources/ /tmp/ - -# Install the base bundle -RUN set -eux; \ - if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ - mkdir /opt/ibm/wlp/etc/; \ - echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ - installUtility install --acceptLicense baseBundle; \ - rm /opt/ibm/wlp/etc/repositories.properties; \ - elif [ -f /tmp/wlpRepo.zip ]; then \ - installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ - else \ - installUtility install --acceptLicense baseBundle; \ - fi; \ - rm -rf /output/workarea /output/logs; \ - find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java17-openj9-ubi-micro -FROM $PARENT_IMAGE -ARG VERBOSE=false - -# Copy the runtime -COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 deleted file mode 100644 index 6a5425af..00000000 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk21 +++ /dev/null @@ -1,51 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java21-openj9-ubi-micro -FROM $PARENT_IMAGE AS installBundle - -ARG VERBOSE=false -ARG REPOSITORIES_PROPERTIES="" - -# If there is a local copy of the repository use that instead -COPY resources/ /tmp/ - -# Install the base bundle -RUN set -eux; \ - if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ - mkdir /opt/ibm/wlp/etc/; \ - echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ - installUtility install --acceptLicense baseBundle; \ - rm /opt/ibm/wlp/etc/repositories.properties; \ - elif [ -f /tmp/wlpRepo.zip ]; then \ - installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ - else \ - installUtility install --acceptLicense baseBundle; \ - fi; \ - rm -rf /output/workarea /output/logs; \ - find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java21-openj9-ubi-micro -FROM $PARENT_IMAGE -ARG VERBOSE=false - -# Copy the runtime -COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 deleted file mode 100644 index cc64f5ba..00000000 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk25 +++ /dev/null @@ -1,51 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java25-openj9-ubi-micro -FROM $PARENT_IMAGE AS installBundle - -ARG VERBOSE=false -ARG REPOSITORIES_PROPERTIES="" - -# If there is a local copy of the repository use that instead -COPY resources/ /tmp/ - -# Install the base bundle -RUN set -eux; \ - if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ - mkdir /opt/ibm/wlp/etc/; \ - echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ - installUtility install --acceptLicense baseBundle; \ - rm /opt/ibm/wlp/etc/repositories.properties; \ - elif [ -f /tmp/wlpRepo.zip ]; then \ - installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ - else \ - installUtility install --acceptLicense baseBundle; \ - fi; \ - rm -rf /output/workarea /output/logs; \ - find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java25-openj9-ubi-micro -FROM $PARENT_IMAGE -ARG VERBOSE=false - -# Copy the runtime -COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 b/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 deleted file mode 100644 index d7c1b7cc..00000000 --- a/ga/26.0.0.8/full/Dockerfile.ubi10-micro.openjdk8 +++ /dev/null @@ -1,51 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java8-openj9-ubi-micro -FROM $PARENT_IMAGE AS installBundle - -ARG VERBOSE=false -ARG REPOSITORIES_PROPERTIES="" - -# If there is a local copy of the repository use that instead -COPY resources/ /tmp/ - -# Install the base bundle -RUN set -eux; \ - if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ - mkdir /opt/ibm/wlp/etc/; \ - echo "$REPOSITORIES_PROPERTIES" > /opt/ibm/wlp/etc/repositories.properties; \ - installUtility install --acceptLicense baseBundle; \ - rm /opt/ibm/wlp/etc/repositories.properties; \ - elif [ -f /tmp/wlpRepo.zip ]; then \ - installUtility install --acceptLicense baseBundle --from=/tmp/wlpRepo.zip; \ - else \ - installUtility install --acceptLicense baseBundle; \ - fi; \ - rm -rf /output/workarea /output/logs; \ - find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; - -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:26.0.0.8-kernel-java8-openj9-ubi-micro -FROM $PARENT_IMAGE -ARG VERBOSE=false - -# Copy the runtime -COPY --from=installBundle --chown=1001:0 /opt/ibm/wlp /opt/ibm/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/ibm/wlp/output ! -perm -g=rwx -print0 | xargs -0 -r chmod g+rwx diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 deleted file mode 100644 index 4cf52a6f..00000000 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ /dev/null @@ -1,207 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -# 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 VERBOSE=false - -# Install WebSphere Liberty -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_URL -ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 - -# If there is a local copy of the image use that instead -COPY resources/ /tmp/ - -RUN microdnf -y install shadow-utils unzip wget findutils openssl \ - && mkdir -p /licenses \ -# This is removed compared to the UBI8 dockerfile as the base -# java dockerfile already adds this user -# && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ - && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ - && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ - && unzip -q /tmp/wlp.zip -d /opt/ibm \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/wlp \ - && cp -a /opt/ibm/wlp/lafiles/. /licenses/ - -# 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 VERBOSE=false -ARG OPENJ9_SCC=true - -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 - -LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ - org.opencontainers.image.vendor="IBM" \ - org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ - org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ - org.opencontainers.image.version="$LIBERTY_VERSION" \ - org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ - org.opencontainers.image.title="IBM WebSphere Liberty" \ - liberty.version="$LIBERTY_VERSION" \ - com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ - vendor="IBM" \ - name="IBM WebSphere Liberty" \ - version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM's Java and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" - -ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime - -# Add labels for consumption by IBM Product Insights -LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ - "ProductName"="WebSphere Application Server Liberty" \ - "ProductVersion"="$LIBERTY_VERSION" \ - "BuildLabel"="$LIBERTY_BUILD_LABEL" - -# 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/ibm/wlp \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/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 --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/ibm/wlp /opt/ibm/wlp -COPY --from=builder /licenses /licenses - -# Set Path Shortcuts -ENV LOG_DIR=/liberty/logs \ - WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC - -# Configure WebSphere Liberty -RUN /opt/ibm/wlp/bin/server create \ - && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ - && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env - -COPY NOTICES /opt/ibm/NOTICES -COPY helpers/ /opt/ibm/helpers/ -COPY fixes/ /opt/ibm/fixes/ - -# Create symlinks && set permissions for non-root user -RUN mkdir /logs \ - && chown -R 1001:0 /logs \ - && chmod -R g+rw /logs \ - && mkdir /etc/wlp \ - && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ - && mkdir -p /home/default \ - && mkdir /output \ - && chmod -t /output \ - && rm -rf /output \ - && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ - && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ - && ln -s /opt/ibm/wlp /liberty \ - && ln -s /opt/ibm/fixes /fixes \ - && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ - && mkdir -p /config/configDropins/defaults \ - && mkdir -p /config/configDropins/overrides \ - && chown -R 1001:0 /config \ - && chmod -R g+rw /config \ - && chown -R 1001:0 /opt/ibm/helpers \ - && chmod -R ug+rwx /opt/ibm/helpers \ - && chown -R 1001:0 /opt/ibm/fixes \ - && chmod -R g+rwx /opt/ibm/fixes \ - && chown -R 1001:0 /opt/ibm/wlp/usr \ - && chmod -R g+rw /opt/ibm/wlp/usr \ - && chown -R 1001:0 /opt/ibm/wlp/output \ - && chmod -R g+rw /opt/ibm/wlp/output \ - && chown -R 1001:0 /etc/wlp \ - && chmod -R g+rw /etc/wlp \ - && chown -R 1001:0 /home/default \ - && chmod -R g+rw /home/default \ - && 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/ibm/wlp/output \ - && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] -CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 deleted file mode 100644 index 0279b552..00000000 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk11 +++ /dev/null @@ -1,191 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder - -USER root - -ARG VERBOSE=false - -# Install WebSphere Liberty -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_URL -ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 - -# If there is a local copy of the image use that instead -COPY resources/ /tmp/ - -RUN microdnf -y install shadow-utils unzip wget openssl \ - && mkdir -p /licenses \ - && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ - && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ - && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ - && unzip -q /tmp/wlp.zip -d /opt/ibm \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/wlp \ - && cp -a /opt/ibm/wlp/lafiles/. /licenses/ - -# 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 VERBOSE=false -ARG OPENJ9_SCC=true - -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 - -LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ - org.opencontainers.image.vendor="IBM" \ - org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ - org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ - org.opencontainers.image.version="$LIBERTY_VERSION" \ - org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ - org.opencontainers.image.title="IBM WebSphere Liberty" \ - liberty.version="$LIBERTY_VERSION" \ - com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ - vendor="IBM" \ - name="IBM WebSphere Liberty" \ - version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" - -ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime - -# Add labels for consumption by IBM Product Insights -LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ - "ProductName"="WebSphere Application Server Liberty" \ - "ProductVersion"="$LIBERTY_VERSION" \ - "BuildLabel"="$LIBERTY_BUILD_LABEL" - -# 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/ibm/wlp \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp -COPY --from=builder /licenses /licenses - -# Set Path Shortcuts -ENV LOG_DIR=/liberty/logs \ - WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC - -# Configure WebSphere Liberty -RUN /opt/ibm/wlp/bin/server create \ - && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ - && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env - -COPY NOTICES /opt/ibm/NOTICES -COPY helpers/ /opt/ibm/helpers/ -COPY fixes/ /opt/ibm/fixes/ - -# Create symlinks && set permissions for non-root user -RUN mkdir /logs \ - && chown -R 1001:0 /logs \ - && chmod -R g+rw /logs \ - && mkdir /etc/wlp \ - && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ - && mkdir -p /home/default \ - && mkdir /output \ - && chmod -t /output \ - && rm -rf /output \ - && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ - && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ - && ln -s /opt/ibm/wlp /liberty \ - && ln -s /opt/ibm/fixes /fixes \ - && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ - && mkdir -p /config/configDropins/defaults \ - && mkdir -p /config/configDropins/overrides \ - && chown -R 1001:0 /config \ - && chmod -R g+rw /config \ - && chown -R 1001:0 /opt/ibm/helpers \ - && chmod -R ug+rwx /opt/ibm/helpers \ - && chown -R 1001:0 /opt/ibm/fixes \ - && chmod -R g+rwx /opt/ibm/fixes \ - && chown -R 1001:0 /opt/ibm/wlp/usr \ - && chmod -R g+rw /opt/ibm/wlp/usr \ - && chown -R 1001:0 /opt/ibm/wlp/output \ - && chmod -R g+rw /opt/ibm/wlp/output \ - && 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 \ - && chown -R 1001:0 /home/default \ - && chmod -R g+rw /home/default \ - && 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/ibm/wlp/output \ - && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] -CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 deleted file mode 100644 index 6e109d80..00000000 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk17 +++ /dev/null @@ -1,191 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder - -USER root - -ARG VERBOSE=false - -# Install WebSphere Liberty -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_URL -ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 - -# If there is a local copy of the image use that instead -COPY resources/ /tmp/ - -RUN microdnf -y install shadow-utils unzip wget openssl \ - && mkdir -p /licenses \ - && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ - && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ - && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ - && unzip -q /tmp/wlp.zip -d /opt/ibm \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/wlp \ - && cp -a /opt/ibm/wlp/lafiles/. /licenses/ - -# 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 VERBOSE=false -ARG OPENJ9_SCC=true - -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 - -LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ - org.opencontainers.image.vendor="IBM" \ - org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ - org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ - org.opencontainers.image.version="$LIBERTY_VERSION" \ - org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ - org.opencontainers.image.title="IBM WebSphere Liberty" \ - liberty.version="$LIBERTY_VERSION" \ - com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ - vendor="IBM" \ - name="IBM WebSphere Liberty" \ - version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" - -ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime - -# Add labels for consumption by IBM Product Insights -LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ - "ProductName"="WebSphere Application Server Liberty" \ - "ProductVersion"="$LIBERTY_VERSION" \ - "BuildLabel"="$LIBERTY_BUILD_LABEL" - -# 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/ibm/wlp \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp -COPY --from=builder /licenses /licenses - -# Set Path Shortcuts -ENV LOG_DIR=/liberty/logs \ - WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC - -# Configure WebSphere Liberty -RUN /opt/ibm/wlp/bin/server create \ - && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ - && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env - -COPY NOTICES /opt/ibm/NOTICES -COPY helpers/ /opt/ibm/helpers/ -COPY fixes/ /opt/ibm/fixes/ - -# Create symlinks && set permissions for non-root user -RUN mkdir /logs \ - && chown -R 1001:0 /logs \ - && chmod -R g+rw /logs \ - && mkdir /etc/wlp \ - && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ - && mkdir -p /home/default \ - && mkdir /output \ - && chmod -t /output \ - && rm -rf /output \ - && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ - && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ - && ln -s /opt/ibm/wlp /liberty \ - && ln -s /opt/ibm/fixes /fixes \ - && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ - && mkdir -p /config/configDropins/defaults \ - && mkdir -p /config/configDropins/overrides \ - && chown -R 1001:0 /config \ - && chmod -R g+rw /config \ - && chown -R 1001:0 /opt/ibm/helpers \ - && chmod -R ug+rwx /opt/ibm/helpers \ - && chown -R 1001:0 /opt/ibm/fixes \ - && chmod -R g+rwx /opt/ibm/fixes \ - && chown -R 1001:0 /opt/ibm/wlp/usr \ - && chmod -R g+rw /opt/ibm/wlp/usr \ - && chown -R 1001:0 /opt/ibm/wlp/output \ - && chmod -R g+rw /opt/ibm/wlp/output \ - && 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 \ - && chown -R 1001:0 /home/default \ - && chmod -R g+rw /home/default \ - && 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/ibm/wlp/output \ - && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] -CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 deleted file mode 100644 index ae19d839..00000000 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk21 +++ /dev/null @@ -1,191 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder - -USER root - -ARG VERBOSE=false - -# Install WebSphere Liberty -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_URL -ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 - -# If there is a local copy of the image use that instead -COPY resources/ /tmp/ - -RUN microdnf -y install shadow-utils unzip wget openssl \ - && mkdir -p /licenses \ - && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ - && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ - && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ - && unzip -q /tmp/wlp.zip -d /opt/ibm \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/wlp \ - && cp -a /opt/ibm/wlp/lafiles/. /licenses/ - -# 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 VERBOSE=false -ARG OPENJ9_SCC=true - -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 - -LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ - org.opencontainers.image.vendor="IBM" \ - org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ - org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ - org.opencontainers.image.version="$LIBERTY_VERSION" \ - org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ - org.opencontainers.image.title="IBM WebSphere Liberty" \ - liberty.version="$LIBERTY_VERSION" \ - com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ - vendor="IBM" \ - name="IBM WebSphere Liberty" \ - version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" - -ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime - -# Add labels for consumption by IBM Product Insights -LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ - "ProductName"="WebSphere Application Server Liberty" \ - "ProductVersion"="$LIBERTY_VERSION" \ - "BuildLabel"="$LIBERTY_BUILD_LABEL" - -# 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/ibm/wlp \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp -COPY --from=builder /licenses /licenses - -# Set Path Shortcuts -ENV LOG_DIR=/liberty/logs \ - WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC - -# Configure WebSphere Liberty -RUN /opt/ibm/wlp/bin/server create \ - && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ - && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env - -COPY NOTICES /opt/ibm/NOTICES -COPY helpers/ /opt/ibm/helpers/ -COPY fixes/ /opt/ibm/fixes/ - -# Create symlinks && set permissions for non-root user -RUN mkdir /logs \ - && chown -R 1001:0 /logs \ - && chmod -R g+rw /logs \ - && mkdir /etc/wlp \ - && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ - && mkdir -p /home/default \ - && mkdir /output \ - && chmod -t /output \ - && rm -rf /output \ - && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ - && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ - && ln -s /opt/ibm/wlp /liberty \ - && ln -s /opt/ibm/fixes /fixes \ - && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ - && mkdir -p /config/configDropins/defaults \ - && mkdir -p /config/configDropins/overrides \ - && chown -R 1001:0 /config \ - && chmod -R g+rw /config \ - && chown -R 1001:0 /opt/ibm/helpers \ - && chmod -R ug+rwx /opt/ibm/helpers \ - && chown -R 1001:0 /opt/ibm/fixes \ - && chmod -R g+rwx /opt/ibm/fixes \ - && chown -R 1001:0 /opt/ibm/wlp/usr \ - && chmod -R g+rw /opt/ibm/wlp/usr \ - && chown -R 1001:0 /opt/ibm/wlp/output \ - && chmod -R g+rw /opt/ibm/wlp/output \ - && 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 \ - && chown -R 1001:0 /home/default \ - && chmod -R g+rw /home/default \ - && 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/ibm/wlp/output \ - && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] -CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 deleted file mode 100644 index 3bd65fbb..00000000 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk25 +++ /dev/null @@ -1,191 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder - -USER root - -ARG VERBOSE=false - -# Install WebSphere Liberty -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_URL -ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 - -# If there is a local copy of the image use that instead -COPY resources/ /tmp/ - -RUN microdnf -y install shadow-utils unzip wget openssl \ - && mkdir -p /licenses \ - && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ - && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ - && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ - && unzip -q /tmp/wlp.zip -d /opt/ibm \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/wlp \ - && cp -a /opt/ibm/wlp/lafiles/. /licenses/ - -# 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 VERBOSE=false -ARG OPENJ9_SCC=true - -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 - -LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ - org.opencontainers.image.vendor="IBM" \ - org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ - org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ - org.opencontainers.image.version="$LIBERTY_VERSION" \ - org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ - org.opencontainers.image.title="IBM WebSphere Liberty" \ - liberty.version="$LIBERTY_VERSION" \ - com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ - vendor="IBM" \ - name="IBM WebSphere Liberty" \ - version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" - -ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime - -# Add labels for consumption by IBM Product Insights -LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ - "ProductName"="WebSphere Application Server Liberty" \ - "ProductVersion"="$LIBERTY_VERSION" \ - "BuildLabel"="$LIBERTY_BUILD_LABEL" - -# 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/ibm/wlp \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp -COPY --from=builder /licenses /licenses - -# Set Path Shortcuts -ENV LOG_DIR=/liberty/logs \ - WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC - -# Configure WebSphere Liberty -RUN /opt/ibm/wlp/bin/server create \ - && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ - && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env - -COPY NOTICES /opt/ibm/NOTICES -COPY helpers/ /opt/ibm/helpers/ -COPY fixes/ /opt/ibm/fixes/ - -# Create symlinks && set permissions for non-root user -RUN mkdir /logs \ - && chown -R 1001:0 /logs \ - && chmod -R g+rw /logs \ - && mkdir /etc/wlp \ - && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ - && mkdir -p /home/default \ - && mkdir /output \ - && chmod -t /output \ - && rm -rf /output \ - && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ - && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ - && ln -s /opt/ibm/wlp /liberty \ - && ln -s /opt/ibm/fixes /fixes \ - && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ - && mkdir -p /config/configDropins/defaults \ - && mkdir -p /config/configDropins/overrides \ - && chown -R 1001:0 /config \ - && chmod -R g+rw /config \ - && chown -R 1001:0 /opt/ibm/helpers \ - && chmod -R ug+rwx /opt/ibm/helpers \ - && chown -R 1001:0 /opt/ibm/fixes \ - && chmod -R g+rwx /opt/ibm/fixes \ - && chown -R 1001:0 /opt/ibm/wlp/usr \ - && chmod -R g+rw /opt/ibm/wlp/usr \ - && chown -R 1001:0 /opt/ibm/wlp/output \ - && chmod -R g+rw /opt/ibm/wlp/output \ - && 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 \ - && chown -R 1001:0 /home/default \ - && chmod -R g+rw /home/default \ - && 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/ibm/wlp/output \ - && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] -CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 b/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 deleted file mode 100644 index bdda07c6..00000000 --- a/ga/26.0.0.8/kernel/Dockerfile.ubi10-micro.openjdk8 +++ /dev/null @@ -1,191 +0,0 @@ -# (C) Copyright IBM Corporation 2026. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS builder - -USER root - -ARG VERBOSE=false - -# Install WebSphere Liberty -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_URL -ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=b1e668e68b05987880ce8ea20ba8ced87ee69cc3 - -# If there is a local copy of the image use that instead -COPY resources/ /tmp/ - -RUN microdnf -y install shadow-utils unzip wget openssl \ - && mkdir -p /licenses \ - && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ - && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ - && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-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 g+x /usr/bin \ - && unzip -q /tmp/wlp.zip -d /opt/ibm \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/wlp \ - && cp -a /opt/ibm/wlp/lafiles/. /licenses/ - -# 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 VERBOSE=false -ARG OPENJ9_SCC=true - -ARG LIBERTY_VERSION=26.0.0.8 -ARG LIBERTY_BUILD_LABEL=cl260820260725-1102 - -LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Iain Lewis, Melissa Lee, Kirby Chin" \ - org.opencontainers.image.vendor="IBM" \ - org.opencontainers.image.url="https://github.com/WASdev/ci.docker" \ - org.opencontainers.image.documentation="https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/cwlp_about.html" \ - org.opencontainers.image.version="$LIBERTY_VERSION" \ - org.opencontainers.image.revision="$LIBERTY_BUILD_LABEL" \ - org.opencontainers.image.description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" \ - org.opencontainers.image.title="IBM WebSphere Liberty" \ - liberty.version="$LIBERTY_VERSION" \ - com.ibm.websphere.liberty.version="$LIBERTY_VERSION" \ - vendor="IBM" \ - name="IBM WebSphere Liberty" \ - version="$LIBERTY_VERSION" \ - summary="Image for WebSphere Liberty with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro" \ - description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 10 micro as the base OS. For more information on this image please see https://ibm.biz/wl-app-image-template" - -ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build:/opt/ibm/helpers/runtime - -# Add labels for consumption by IBM Product Insights -LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ - "ProductName"="WebSphere Application Server Liberty" \ - "ProductVersion"="$LIBERTY_VERSION" \ - "BuildLabel"="$LIBERTY_BUILD_LABEL" - -# 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/ibm/wlp \ - && chown -R 1001:0 /opt/ibm/wlp \ - && chmod -R g+rw /opt/ibm/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/ibm/wlp /opt/ibm/wlp -COPY --from=builder /licenses /licenses - -# Set Path Shortcuts -ENV LOG_DIR=/liberty/logs \ - WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC - -# Configure WebSphere Liberty -RUN /opt/ibm/wlp/bin/server create \ - && rm -rf $WLP_OUTPUT_DIR/.classCache /output/workarea \ - && rm -rf /opt/ibm/wlp/usr/servers/defaultServer/server.env - -COPY NOTICES /opt/ibm/NOTICES -COPY helpers/ /opt/ibm/helpers/ -COPY fixes/ /opt/ibm/fixes/ - -# Create symlinks && set permissions for non-root user -RUN mkdir /logs \ - && chown -R 1001:0 /logs \ - && chmod -R g+rw /logs \ - && mkdir /etc/wlp \ - && mkdir -p /opt/ibm/wlp/usr/shared/resources/lib.index.cache \ - && mkdir -p /home/default \ - && mkdir /output \ - && chmod -t /output \ - && rm -rf /output \ - && ln -s $WLP_OUTPUT_DIR/defaultServer /output \ - && ln -s /opt/ibm/wlp/usr/servers/defaultServer /config \ - && ln -s /opt/ibm/wlp /liberty \ - && ln -s /opt/ibm/fixes /fixes \ - && ln -s /opt/ibm/wlp/usr/shared/resources/lib.index.cache /lib.index.cache \ - && mkdir -p /config/configDropins/defaults \ - && mkdir -p /config/configDropins/overrides \ - && chown -R 1001:0 /config \ - && chmod -R g+rw /config \ - && chown -R 1001:0 /opt/ibm/helpers \ - && chmod -R ug+rwx /opt/ibm/helpers \ - && chown -R 1001:0 /opt/ibm/fixes \ - && chmod -R g+rwx /opt/ibm/fixes \ - && chown -R 1001:0 /opt/ibm/wlp/usr \ - && chmod -R g+rw /opt/ibm/wlp/usr \ - && chown -R 1001:0 /opt/ibm/wlp/output \ - && chmod -R g+rw /opt/ibm/wlp/output \ - && 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 \ - && chown -R 1001:0 /home/default \ - && chmod -R g+rw /home/default \ - && 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/ibm/wlp/output \ - && chmod -R g+rwx /opt/ibm/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/ibm/helpers/runtime/docker-server.sh"] -CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/26.0.0.8/kernel/helpers/build/configure.sh b/ga/26.0.0.8/kernel/helpers/build/configure.sh index ddacb7cd..a1ed2062 100755 --- a/ga/26.0.0.8/kernel/helpers/build/configure.sh +++ b/ga/26.0.0.8/kernel/helpers/build/configure.sh @@ -13,13 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Use curl/wget to warm endpoints -if command -v curl > /dev/null 2>&1; then - http_download() { curl -sS --insecure -o "$1" "$2"; } -else - http_download() { wget -q --no-check-certificate -O "$1" "$2"; } -fi - # Determine if featureUtility ran in an earlier build step if /opt/ibm/helpers/build/internal/features-installed.sh; then FEATURES_INSTALLED=true @@ -149,7 +142,7 @@ function main() { if [ "$SKIP_FEATURE_INSTALL" != "true" ] && [ "$FEATURES_INSTALLED" == "false" ]; then # Install needed features if [ "$FEATURE_REPO_URL" ]; then - http_download /tmp/repo.zip $FEATURE_REPO_URL + curl -k --fail $FEATURE_REPO_URL > /tmp/repo.zip installUtility install --acceptLicense defaultServer --from=/tmp/repo.zip || rc=$?; if [ $rc -ne 22 ]; then exit $rc; fi rm -rf /tmp/repo.zip else diff --git a/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh b/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh index a74c52a9..661f253b 100755 --- a/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh +++ b/ga/26.0.0.8/kernel/helpers/build/populate_scc.sh @@ -14,13 +14,6 @@ # limitations under the License. . /opt/ibm/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 "$1"; } -else - http_get() { wget -q -O /dev/null -T 5 "$1"; } -fi - set -Eeo pipefail # 32-bit JVMs don't supported multi-layered SCCs. @@ -104,10 +97,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) @@ -140,11 +133,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/ibm/wlp/bin/server stop @@ -175,11 +168,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/ibm/wlp/bin/server stop diff --git a/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 index 4cf52a6f..6ff1fa27 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -81,7 +81,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