From f5ccc5d0fba049adb95719538b75fcb62de78422 Mon Sep 17 00:00:00 2001 From: Melissa Lee Date: Tue, 11 Aug 2026 17:09:38 -0400 Subject: [PATCH 01/27] 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 02/27] 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 03/27] 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 04/27] 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 05/27] 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 06/27] 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 07/27] 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 08/27] 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 09/27] 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 From f731f7259dc1aacf5b115959ea801ea0e007e3aa Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Mon, 10 Aug 2026 16:13:31 -0400 Subject: [PATCH 10/27] Disable automatic config monitoring and HTTP_PORT --- ga/latest/kernel/Dockerfile.ubi.ibmjava8 | 3 +- ga/latest/kernel/Dockerfile.ubi.openjdk11 | 3 +- ga/latest/kernel/Dockerfile.ubi.openjdk17 | 3 +- ga/latest/kernel/Dockerfile.ubi.openjdk8 | 3 +- .../kernel/Dockerfile.ubi10-minimal.ibmjava8 | 3 +- .../kernel/Dockerfile.ubi10-minimal.openjdk11 | 3 +- .../kernel/Dockerfile.ubi10-minimal.openjdk17 | 3 +- .../kernel/Dockerfile.ubi10-minimal.openjdk21 | 3 +- .../kernel/Dockerfile.ubi10-minimal.openjdk25 | 3 +- .../kernel/Dockerfile.ubi10-minimal.openjdk8 | 3 +- ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 | 3 +- ga/latest/kernel/Dockerfile.ubuntu.openjdk11 | 3 +- ga/latest/kernel/Dockerfile.ubuntu.openjdk17 | 3 +- .../configuration_snippets/config-mbean.xml | 6 +++ .../configuration_snippets/http-endpoint.xml | 2 +- .../http-ssl-endpoint.xml | 2 +- ga/latest/kernel/helpers/build/configure.sh | 16 +++++++ ga/latest/kernel/helpers/build/features.sh | 46 ------------------- 18 files changed, 50 insertions(+), 61 deletions(-) create mode 100644 ga/latest/kernel/helpers/build/configuration_snippets/config-mbean.xml delete mode 100755 ga/latest/kernel/helpers/build/features.sh diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index 8997224e..6bade071 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -174,11 +174,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ IBM_JAVA_OPTIONS="-Xshareclasses:name=liberty,readonly,nonfatal,cacheDir=/output/.classCache/ -Dosgi.checkConfiguration=false ${IBM_JAVA_OPTIONS}" USER 1001 -EXPOSE 9080 9443 +EXPOSE 9443 ENTRYPOINT ["/opt/ibm/helpers/runtime/docker-server.sh"] CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index 23e3d4f9..e7b07a9d 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -176,11 +176,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 9443 ENTRYPOINT ["/opt/ibm/helpers/runtime/docker-server.sh"] CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index d0175b0e..69e7e15d 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -175,11 +175,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 9443 ENTRYPOINT ["/opt/ibm/helpers/runtime/docker-server.sh"] CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index ea065b4c..b6075326 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -175,11 +175,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 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..ad4e6d1b 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 @@ -188,11 +188,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ IBM_JAVA_OPTIONS="-Xshareclasses:name=liberty,readonly,nonfatal,cacheDir=/output/.classCache/ -Dosgi.checkConfiguration=false ${IBM_JAVA_OPTIONS}" USER 1001 -EXPOSE 9080 9443 +EXPOSE 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.openjdk11 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 index cd88363b..ec7c2b0c 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 @@ -175,11 +175,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 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.openjdk17 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 index f8fbbc09..f6cc7274 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 @@ -175,11 +175,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 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.openjdk21 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 index 5818627b..75f592ea 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 @@ -175,11 +175,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 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.openjdk25 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 index b5a71c37..3e6e26a5 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 @@ -175,11 +175,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 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.openjdk8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 index 9f6a02b3..3c8f551d 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 @@ -175,11 +175,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 9443 ENTRYPOINT ["/opt/ibm/helpers/runtime/docker-server.sh"] CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 index 0a87a63b..8c64b373 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 @@ -155,11 +155,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ IBM_JAVA_OPTIONS="-Xshareclasses:name=liberty,readonly,nonfatal,cacheDir=/output/.classCache/ -Dosgi.checkConfiguration=false ${IBM_JAVA_OPTIONS}" USER 1001 -EXPOSE 9080 9443 +EXPOSE 9443 ENTRYPOINT ["/opt/ibm/helpers/runtime/docker-server.sh"] CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 index cd6650ad..b492763a 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 @@ -150,11 +150,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 9443 ENTRYPOINT ["/opt/ibm/helpers/runtime/docker-server.sh"] CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 index ba4a3485..629170c8 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 @@ -150,11 +150,12 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ + ENABLE_HTTP_PORT=false \ 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 +EXPOSE 9443 ENTRYPOINT ["/opt/ibm/helpers/runtime/docker-server.sh"] CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"] diff --git a/ga/latest/kernel/helpers/build/configuration_snippets/config-mbean.xml b/ga/latest/kernel/helpers/build/configuration_snippets/config-mbean.xml new file mode 100644 index 00000000..b97391b5 --- /dev/null +++ b/ga/latest/kernel/helpers/build/configuration_snippets/config-mbean.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml b/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml index 5f6c6055..8244e386 100644 --- a/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml +++ b/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml @@ -1,5 +1,5 @@ - + diff --git a/ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml b/ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml index 2a2388a3..b4554a8f 100644 --- a/ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml +++ b/ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml @@ -2,5 +2,5 @@ - + diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index ddacb7cd..eeb2b525 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -43,6 +43,10 @@ function main() { mkdir -p ${SNIPPETS_TARGET} mkdir -p ${SNIPPETS_TARGET_DEFAULTS} + # Disable automatic configuration file monitoring (security hardening) + cp $SNIPPETS_SOURCE/config-mbean.xml $SNIPPETS_TARGET/config-mbean.xml + chmod g+rw $SNIPPETS_TARGET/config-mbean.xml + # Check for each Liberty value-add functionality if [ "$FEATURES_INSTALLED" == "false" ]; then # HTTP Endpoint @@ -54,6 +58,18 @@ function main() { fi fi + # Re-enable plain HTTP port when explicitly requested (disabled by default for security) + if [ "$ENABLE_HTTP_PORT" == "true" ]; then + cat > $SNIPPETS_TARGET/enable-http-port.xml <<'EOF' + + + + + +EOF + chmod g+rw $SNIPPETS_TARGET/enable-http-port.xml + fi + # MicroProfile Health if [ "$MP_HEALTH_CHECK" == "true" ]; then cp $SNIPPETS_SOURCE/mp-health-check.xml $SNIPPETS_TARGET/mp-health-check.xml diff --git a/ga/latest/kernel/helpers/build/features.sh b/ga/latest/kernel/helpers/build/features.sh deleted file mode 100755 index 2773c506..00000000 --- a/ga/latest/kernel/helpers/build/features.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# (C) Copyright IBM Corporation 2023, 2025. -# -# 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. -. /opt/ibm/helpers/build/internal/logger.sh - -set -Eeo pipefail - -##Define variables for XML snippets source and target paths -SNIPPETS_SOURCE=/opt/ibm/helpers/build/configuration_snippets -SNIPPETS_TARGET=/config/configDropins/overrides -SNIPPETS_TARGET_DEFAULTS=/config/configDropins/defaults -mkdir -p ${SNIPPETS_TARGET} -mkdir -p ${SNIPPETS_TARGET_DEFAULTS} - -# Session Caching -if [ -n "$INFINISPAN_SERVICE_NAME" ] || [ "${HZ_SESSION_CACHE}" == "client" ] || [ "${HZ_SESSION_CACHE}" == "embedded" ]; then - cp ${SNIPPETS_SOURCE}/sessioncache-features.xml ${SNIPPETS_TARGET}/sessioncache-features.xml - chmod g+rw $SNIPPETS_TARGET/sessioncache-features.xml -fi - -# SSO -if [[ -n "$SEC_SSO_PROVIDERS" ]]; then - cp $SNIPPETS_SOURCE/sso-features.xml $SNIPPETS_TARGET_DEFAULTS -fi - -# Key Store -if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then - cp $SNIPPETS_SOURCE/tls.xml $SNIPPETS_TARGET/tls.xml -fi - -# Install necessary features using featureUtility -featureUtility installServerFeatures --acceptLicense defaultServer --noCache -find /opt/ibm/wlp/lib /opt/ibm/wlp/bin ! -perm -g=rw -print0 | xargs -0 -r chmod g+rw - -echo "features.sh script has been run" > /logs/features.log From 314fc50dcca8af38546ef75e49e864c2a0f455fe Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Mon, 10 Aug 2026 16:19:08 -0400 Subject: [PATCH 11/27] Add productInfo validate in features.sh --- ga/latest/kernel/helpers/build/features.sh | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 ga/latest/kernel/helpers/build/features.sh diff --git a/ga/latest/kernel/helpers/build/features.sh b/ga/latest/kernel/helpers/build/features.sh new file mode 100755 index 00000000..8ae73327 --- /dev/null +++ b/ga/latest/kernel/helpers/build/features.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# (C) Copyright IBM Corporation 2023, 2025. +# +# 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. +. /opt/ibm/helpers/build/internal/logger.sh + +set -Eeo pipefail + +##Define variables for XML snippets source and target paths +SNIPPETS_SOURCE=/opt/ibm/helpers/build/configuration_snippets +SNIPPETS_TARGET=/config/configDropins/overrides +SNIPPETS_TARGET_DEFAULTS=/config/configDropins/defaults +mkdir -p ${SNIPPETS_TARGET} +mkdir -p ${SNIPPETS_TARGET_DEFAULTS} + +# Session Caching +if [ -n "$INFINISPAN_SERVICE_NAME" ] || [ "${HZ_SESSION_CACHE}" == "client" ] || [ "${HZ_SESSION_CACHE}" == "embedded" ]; then + cp ${SNIPPETS_SOURCE}/sessioncache-features.xml ${SNIPPETS_TARGET}/sessioncache-features.xml + chmod g+rw $SNIPPETS_TARGET/sessioncache-features.xml +fi + +# SSO +if [[ -n "$SEC_SSO_PROVIDERS" ]]; then + cp $SNIPPETS_SOURCE/sso-features.xml $SNIPPETS_TARGET_DEFAULTS +fi + +# Key Store +if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then + cp $SNIPPETS_SOURCE/tls.xml $SNIPPETS_TARGET/tls.xml +fi + +# Install necessary features using featureUtility +featureUtility installServerFeatures --acceptLicense defaultServer --noCache +find /opt/ibm/wlp/lib /opt/ibm/wlp/bin ! -perm -g=rw -print0 | xargs -0 -r chmod g+rw + +# Validate the Liberty installation integrity after feature installation +/opt/ibm/wlp/bin/productInfo validate + +echo "features.sh script has been run" > /logs/features.log From 3daf9393e3943839c8ab41108072ea4ee285fd49 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Thu, 13 Aug 2026 14:38:26 -0400 Subject: [PATCH 12/27] Set httpPort="-1" by default --- ga/latest/kernel/Dockerfile.ubi.ibmjava8 | 1 - ga/latest/kernel/Dockerfile.ubi.openjdk11 | 1 - ga/latest/kernel/Dockerfile.ubi.openjdk17 | 1 - ga/latest/kernel/Dockerfile.ubi.openjdk8 | 1 - .../kernel/Dockerfile.ubi10-minimal.ibmjava8 | 1 - .../kernel/Dockerfile.ubi10-minimal.openjdk11 | 1 - .../kernel/Dockerfile.ubi10-minimal.openjdk17 | 1 - .../kernel/Dockerfile.ubi10-minimal.openjdk21 | 1 - .../kernel/Dockerfile.ubi10-minimal.openjdk25 | 1 - .../kernel/Dockerfile.ubi10-minimal.openjdk8 | 1 - ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 | 1 - ga/latest/kernel/Dockerfile.ubuntu.openjdk11 | 1 - ga/latest/kernel/Dockerfile.ubuntu.openjdk17 | 1 - .../configuration_snippets/http-endpoint.xml | 2 +- .../http-ssl-endpoint.xml | 2 +- ga/latest/kernel/helpers/build/configure.sh | 31 ++++++++++--------- 16 files changed, 19 insertions(+), 29 deletions(-) diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index 6bade071..a80f0587 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -174,7 +174,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ IBM_JAVA_OPTIONS="-Xshareclasses:name=liberty,readonly,nonfatal,cacheDir=/output/.classCache/ -Dosgi.checkConfiguration=false ${IBM_JAVA_OPTIONS}" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index e7b07a9d..ceda338a 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -176,7 +176,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index 69e7e15d..f49e08e4 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -175,7 +175,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index b6075326..27d1a9ff 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -175,7 +175,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 index ad4e6d1b..1d66e75f 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 @@ -188,7 +188,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ IBM_JAVA_OPTIONS="-Xshareclasses:name=liberty,readonly,nonfatal,cacheDir=/output/.classCache/ -Dosgi.checkConfiguration=false ${IBM_JAVA_OPTIONS}" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 index ec7c2b0c..61cb34db 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 @@ -175,7 +175,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 index f6cc7274..0f25914e 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 @@ -175,7 +175,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 index 75f592ea..75250af1 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 @@ -175,7 +175,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 index 3e6e26a5..e650bf03 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 @@ -175,7 +175,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 index 3c8f551d..821cf7fd 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 @@ -175,7 +175,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 index 8c64b373..4573f53f 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 @@ -155,7 +155,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ IBM_JAVA_OPTIONS="-Xshareclasses:name=liberty,readonly,nonfatal,cacheDir=/output/.classCache/ -Dosgi.checkConfiguration=false ${IBM_JAVA_OPTIONS}" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 index b492763a..b3726794 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 @@ -150,7 +150,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 index 629170c8..2bbbb7c4 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 @@ -150,7 +150,6 @@ RUN if [ "$OPENJ9_SCC" = "true" ]; then populate_scc.sh; fi \ # These settings are needed so that we can run as a different user than 1001 after server warmup ENV RANDFILE=/tmp/.rnd \ - ENABLE_HTTP_PORT=false \ OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal -Dosgi.checkConfiguration=false" USER 1001 diff --git a/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml b/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml index 8244e386..5f6c6055 100644 --- a/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml +++ b/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml @@ -1,5 +1,5 @@ - + diff --git a/ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml b/ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml index b4554a8f..2a2388a3 100644 --- a/ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml +++ b/ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml @@ -2,5 +2,5 @@ - + diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index eeb2b525..d26926dc 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -48,27 +48,30 @@ function main() { chmod g+rw $SNIPPETS_TARGET/config-mbean.xml # Check for each Liberty value-add functionality - if [ "$FEATURES_INSTALLED" == "false" ]; then - # HTTP Endpoint - if [ "$HTTP_ENDPOINT" == "true" ]; then + + # Disable the default HTTP/HTTPS ports; user's server.xml can override. + # Must run unconditionally (regardless of FEATURES_INSTALLED) so Liberty's + # built-in httpPort="9080" default is always closed unless HTTP_ENDPOINT=true. + if [ "$HTTP_ENDPOINT" == "true" ]; then + if [ "$FEATURES_INSTALLED" == "false" ]; then if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then cp $SNIPPETS_SOURCE/http-ssl-endpoint.xml $SNIPPETS_TARGET/http-ssl-endpoint.xml else cp $SNIPPETS_SOURCE/http-endpoint.xml $SNIPPETS_TARGET/http-endpoint.xml fi fi - - # Re-enable plain HTTP port when explicitly requested (disabled by default for security) - if [ "$ENABLE_HTTP_PORT" == "true" ]; then - cat > $SNIPPETS_TARGET/enable-http-port.xml <<'EOF' - - - - - -EOF - chmod g+rw $SNIPPETS_TARGET/enable-http-port.xml + else + if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then + sed 's/httpsPort="\${HTTPS_PORT}"/httpsPort="-1"/' $SNIPPETS_SOURCE/http-ssl-endpoint.xml \ + | sed 's/httpPort="\${HTTP_PORT}"/httpPort="-1"/' \ + > $SNIPPETS_TARGET/http-ssl-endpoint.xml + else + sed 's/httpPort="\${HTTP_PORT}"/httpPort="-1"/' $SNIPPETS_SOURCE/http-endpoint.xml \ + > $SNIPPETS_TARGET/http-endpoint.xml fi + fi + + if [ "$FEATURES_INSTALLED" == "false" ]; then # MicroProfile Health if [ "$MP_HEALTH_CHECK" == "true" ]; then From 8f7bd4dade471f7937b9a243f6d96efcd37f1e4b Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Thu, 13 Aug 2026 14:44:26 -0400 Subject: [PATCH 13/27] Update configure.sh --- ga/latest/kernel/helpers/build/configure.sh | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index d26926dc..2b63f478 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -49,18 +49,15 @@ function main() { # Check for each Liberty value-add functionality - # Disable the default HTTP/HTTPS ports; user's server.xml can override. - # Must run unconditionally (regardless of FEATURES_INSTALLED) so Liberty's - # built-in httpPort="9080" default is always closed unless HTTP_ENDPOINT=true. + # HTTP Endpoint if [ "$HTTP_ENDPOINT" == "true" ]; then - if [ "$FEATURES_INSTALLED" == "false" ]; then - if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then - cp $SNIPPETS_SOURCE/http-ssl-endpoint.xml $SNIPPETS_TARGET/http-ssl-endpoint.xml - else - cp $SNIPPETS_SOURCE/http-endpoint.xml $SNIPPETS_TARGET/http-endpoint.xml - fi + if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then + cp $SNIPPETS_SOURCE/http-ssl-endpoint.xml $SNIPPETS_TARGET/http-ssl-endpoint.xml + else + cp $SNIPPETS_SOURCE/http-endpoint.xml $SNIPPETS_TARGET/http-endpoint.xml fi else + # Disable default HTTP/HTTPS ports if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then sed 's/httpsPort="\${HTTPS_PORT}"/httpsPort="-1"/' $SNIPPETS_SOURCE/http-ssl-endpoint.xml \ | sed 's/httpPort="\${HTTP_PORT}"/httpPort="-1"/' \ From 835085a56c2af91f0cb71c2a133b829668992e2a Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Thu, 13 Aug 2026 14:51:24 -0400 Subject: [PATCH 14/27] Use port 9443 in populate_scc.sh --- README.md | 6 +++--- ga/latest/kernel/helpers/build/configure.sh | 5 ++--- ga/latest/kernel/helpers/build/populate_scc.sh | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1009617d..af31a496 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ This section describes the optional build variables that can be enabled via the The following container image build variables are now **deprecated** and will be **removed** in a future release. You should **stop** using them: * `HTTP_ENDPOINT` - * Description: Add configuration properties for an HTTP endpoint. + * Description: Add configuration properties for an HTTP endpoint. By default, the HTTP port is disabled (`-1`) and HTTPS remains enabled as the expected transport. Set `HTTP_ENDPOINT=true` to re-enable plain HTTP (port 9080 by default). * XML Snippet Location: [http-ssl-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml) when SSL is enabled. Otherwise [http-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml) * `MP_HEALTH_CHECK` * Description: Check the health of the environment using Liberty feature `mpHealth-1.0` (implements [MicroProfile Health](https://microprofile.io/project/eclipse/microprofile-health)). @@ -146,13 +146,13 @@ This feature can be controlled via the following variables: * Default: `"true"`. * `WARM_ENDPOINT_URL` (enviornment variable) * Description: The URL to access during SCC population if WARM_ENDPOINT is true. - * Default: `"localhost:9080/"`. + * Default: `"https://localhost:9443/"`. * `WARM_OPENAPI_ENDPOINT` (environment variable) * Description: (24.0.0.4+) If `"true"`, curl will be used to access the WARM_OPENAPI_ENDPOINT_URL (see below) during the population of the SCC. This will increase the amount of information in the SCC and improve first request time in subsequent starts of the image. * Default: `"true"` * `WARM_OPENAPI_ENDPOINT_URL` (enviornment variable) * Description: (24.0.0.4+) The URL to access during SCC population if WARM_OPENAPI_ENDPOINT is true. - * Default: `"localhost:9080/openapi"` + * Default: `"https://localhost:9443/openapi"` ## Logging diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index 2b63f478..592ffb10 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -57,10 +57,9 @@ function main() { cp $SNIPPETS_SOURCE/http-endpoint.xml $SNIPPETS_TARGET/http-endpoint.xml fi else - # Disable default HTTP/HTTPS ports + # Disable default HTTP port, HTTPS remains enabled if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then - sed 's/httpsPort="\${HTTPS_PORT}"/httpsPort="-1"/' $SNIPPETS_SOURCE/http-ssl-endpoint.xml \ - | sed 's/httpPort="\${HTTP_PORT}"/httpPort="-1"/' \ + sed 's/httpPort="\${HTTP_PORT}"/httpPort="-1"/' $SNIPPETS_SOURCE/http-ssl-endpoint.xml \ > $SNIPPETS_TARGET/http-ssl-endpoint.xml else sed 's/httpPort="\${HTTP_PORT}"/httpPort="-1"/' $SNIPPETS_SOURCE/http-endpoint.xml \ diff --git a/ga/latest/kernel/helpers/build/populate_scc.sh b/ga/latest/kernel/helpers/build/populate_scc.sh index a74c52a9..393dfecc 100755 --- a/ga/latest/kernel/helpers/build/populate_scc.sh +++ b/ga/latest/kernel/helpers/build/populate_scc.sh @@ -30,9 +30,9 @@ SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. WARM_ENDPOINT=true -WARM_ENDPOINT_URL=localhost:9080/ +WARM_ENDPOINT_URL=https://localhost:9443/ WARM_OPENAPI_ENDPOINT=true -WARM_OPENAPI_ENDPOINT_URL=localhost:9080/openapi +WARM_OPENAPI_ENDPOINT_URL=https://localhost:9443/openapi # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. From b438cef393fca330191a76338683e4bd2af96010 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Thu, 13 Aug 2026 15:09:48 -0400 Subject: [PATCH 15/27] Update configure.sh --- ga/latest/kernel/helpers/build/configure.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index 592ffb10..e6b4c627 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -47,8 +47,6 @@ function main() { cp $SNIPPETS_SOURCE/config-mbean.xml $SNIPPETS_TARGET/config-mbean.xml chmod g+rw $SNIPPETS_TARGET/config-mbean.xml - # Check for each Liberty value-add functionality - # HTTP Endpoint if [ "$HTTP_ENDPOINT" == "true" ]; then if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then @@ -67,6 +65,7 @@ function main() { fi fi + # Check for each Liberty value-add functionality if [ "$FEATURES_INSTALLED" == "false" ]; then # MicroProfile Health From cc4ccdd9d8c60fb2329b5fbdcda852f1f3c27d2c Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Fri, 14 Aug 2026 12:12:16 -0400 Subject: [PATCH 16/27] Remove HTTP_ENDPOINT from deprecated build variables --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index af31a496..515e7cf9 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,9 @@ FROM icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi # Default setting for the verbose option. Set it to true to debug the application container image build failures ARG VERBOSE=false +# HTTP port (9080) is disabled by default and HTTPS (9443) remains enabled. Uncomment and set to true to re-enable plain HTTP. +#ARG HTTP_ENDPOINT=true + # Add Liberty server configuration including all necessary features COPY --chown=1001:0 server.xml /config/ @@ -86,15 +89,15 @@ This section describes the optional build variables that can be enabled via the * Description: Automatically generates a secure random password for LTPA keys and exports it as the `ltpa_keys_password` environment variable. This prevents the LTPA service from failing with error `CWWKS4118E` when no LTPA keys password is configured. * Default: `"true"`. * Note: If `ltpa_keys_password` is already set, automatic generation is skipped. Set to `"false"` to disable. +* `HTTP_ENDPOINT` + * Description: Add configuration properties for an HTTP endpoint. By default, the HTTP port is disabled (`-1`) and HTTPS remains enabled as the expected transport. Set `HTTP_ENDPOINT=true` to re-enable plain HTTP (port 9080 by default). + * XML Snippet Location: [http-ssl-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml) when SSL is enabled. Otherwise [http-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml) ### Deprecated Build Variables The following container image build variables are now **deprecated** and will be **removed** in a future release. You should **stop** using them: -* `HTTP_ENDPOINT` - * Description: Add configuration properties for an HTTP endpoint. By default, the HTTP port is disabled (`-1`) and HTTPS remains enabled as the expected transport. Set `HTTP_ENDPOINT=true` to re-enable plain HTTP (port 9080 by default). - * XML Snippet Location: [http-ssl-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml) when SSL is enabled. Otherwise [http-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml) * `MP_HEALTH_CHECK` * Description: Check the health of the environment using Liberty feature `mpHealth-1.0` (implements [MicroProfile Health](https://microprofile.io/project/eclipse/microprofile-health)). * XML Snippet Location: [mp-health-check.xml](ga/latest/kernel/helpers/build/configuration_snippets/mp-health-check.xml) From 30fb75d74fa5051d4afd7735e4d9036a5ffce621 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Fri, 14 Aug 2026 16:19:41 -0400 Subject: [PATCH 17/27] Add ENABLE_HTTP_PORT --- README.md | 12 ++++---- .../http-endpoint-disabled.xml | 4 +++ ga/latest/kernel/helpers/build/configure.sh | 28 ++++++++----------- 3 files changed, 23 insertions(+), 21 deletions(-) create mode 100644 ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint-disabled.xml diff --git a/README.md b/README.md index 515e7cf9..0c31b376 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ FROM icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi ARG VERBOSE=false # HTTP port (9080) is disabled by default and HTTPS (9443) remains enabled. Uncomment and set to true to re-enable plain HTTP. -#ARG HTTP_ENDPOINT=true +#ARG ENABLE_HTTP_PORT=true # Add Liberty server configuration including all necessary features COPY --chown=1001:0 server.xml /config/ @@ -89,15 +89,17 @@ This section describes the optional build variables that can be enabled via the * Description: Automatically generates a secure random password for LTPA keys and exports it as the `ltpa_keys_password` environment variable. This prevents the LTPA service from failing with error `CWWKS4118E` when no LTPA keys password is configured. * Default: `"true"`. * Note: If `ltpa_keys_password` is already set, automatic generation is skipped. Set to `"false"` to disable. -* `HTTP_ENDPOINT` - * Description: Add configuration properties for an HTTP endpoint. By default, the HTTP port is disabled (`-1`) and HTTPS remains enabled as the expected transport. Set `HTTP_ENDPOINT=true` to re-enable plain HTTP (port 9080 by default). - * XML Snippet Location: [http-ssl-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml) when SSL is enabled. Otherwise [http-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml) - +* `ENABLE_HTTP_PORT` + * Description: Controls whether the HTTP port (port 9080 by default) is enabled. By default, the HTTP port is disabled (`-1`) and HTTPS remains enabled as the expected transport. Set to `true` to re-enable the HTTP port. + * Default: `"false"`. ### Deprecated Build Variables The following container image build variables are now **deprecated** and will be **removed** in a future release. You should **stop** using them: +* `HTTP_ENDPOINT` + * Description: Add configuration properties for an HTTP endpoint. By default, the HTTP port is disabled (`-1`) and HTTPS remains enabled as the expected transport. Set `HTTP_ENDPOINT=true` to re-enable plain HTTP (port 9080 by default). + * XML Snippet Location: [http-ssl-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml) when SSL is enabled. Otherwise [http-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml) * `MP_HEALTH_CHECK` * Description: Check the health of the environment using Liberty feature `mpHealth-1.0` (implements [MicroProfile Health](https://microprofile.io/project/eclipse/microprofile-health)). * XML Snippet Location: [mp-health-check.xml](ga/latest/kernel/helpers/build/configuration_snippets/mp-health-check.xml) diff --git a/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint-disabled.xml b/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint-disabled.xml new file mode 100644 index 00000000..51ee4367 --- /dev/null +++ b/ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint-disabled.xml @@ -0,0 +1,4 @@ + + + + diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index e6b4c627..ba217c87 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -47,27 +47,23 @@ function main() { cp $SNIPPETS_SOURCE/config-mbean.xml $SNIPPETS_TARGET/config-mbean.xml chmod g+rw $SNIPPETS_TARGET/config-mbean.xml - # HTTP Endpoint - if [ "$HTTP_ENDPOINT" == "true" ]; then - if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then - cp $SNIPPETS_SOURCE/http-ssl-endpoint.xml $SNIPPETS_TARGET/http-ssl-endpoint.xml - else - cp $SNIPPETS_SOURCE/http-endpoint.xml $SNIPPETS_TARGET/http-endpoint.xml - fi - else - # Disable default HTTP port, HTTPS remains enabled - if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then - sed 's/httpPort="\${HTTP_PORT}"/httpPort="-1"/' $SNIPPETS_SOURCE/http-ssl-endpoint.xml \ - > $SNIPPETS_TARGET/http-ssl-endpoint.xml - else - sed 's/httpPort="\${HTTP_PORT}"/httpPort="-1"/' $SNIPPETS_SOURCE/http-endpoint.xml \ - > $SNIPPETS_TARGET/http-endpoint.xml - fi + # HTTP port is disabled by default. Set ENABLE_HTTP_PORT=true to re-enable port 9080. + if [ "$ENABLE_HTTP_PORT" != "true" ]; then + cp $SNIPPETS_SOURCE/http-endpoint-disabled.xml $SNIPPETS_TARGET/http-endpoint.xml fi # Check for each Liberty value-add functionality if [ "$FEATURES_INSTALLED" == "false" ]; then + # HTTP Endpoint + if [ "$HTTP_ENDPOINT" == "true" ]; then + if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then + cp $SNIPPETS_SOURCE/http-ssl-endpoint.xml $SNIPPETS_TARGET/http-ssl-endpoint.xml + else + cp $SNIPPETS_SOURCE/http-endpoint.xml $SNIPPETS_TARGET/http-endpoint.xml + fi + fi + # MicroProfile Health if [ "$MP_HEALTH_CHECK" == "true" ]; then cp $SNIPPETS_SOURCE/mp-health-check.xml $SNIPPETS_TARGET/mp-health-check.xml From f34eb772911443a07e14ba6f4286d83672bca351 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Fri, 14 Aug 2026 16:20:47 -0400 Subject: [PATCH 18/27] Update configure.sh --- ga/latest/kernel/helpers/build/configure.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index ba217c87..720189aa 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -54,7 +54,6 @@ function main() { # Check for each Liberty value-add functionality if [ "$FEATURES_INSTALLED" == "false" ]; then - # HTTP Endpoint if [ "$HTTP_ENDPOINT" == "true" ]; then if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then From ce920c7702ed2cce747d6d1c8f2574376f1c776c Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Fri, 14 Aug 2026 16:24:16 -0400 Subject: [PATCH 19/27] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c31b376..83d4fd0f 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ This section describes the optional build variables that can be enabled via the The following container image build variables are now **deprecated** and will be **removed** in a future release. You should **stop** using them: * `HTTP_ENDPOINT` - * Description: Add configuration properties for an HTTP endpoint. By default, the HTTP port is disabled (`-1`) and HTTPS remains enabled as the expected transport. Set `HTTP_ENDPOINT=true` to re-enable plain HTTP (port 9080 by default). + * Description: Add configuration properties for an HTTP endpoint. * XML Snippet Location: [http-ssl-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml) when SSL is enabled. Otherwise [http-endpoint.xml](ga/latest/kernel/helpers/build/configuration_snippets/http-endpoint.xml) * `MP_HEALTH_CHECK` * Description: Check the health of the environment using Liberty feature `mpHealth-1.0` (implements [MicroProfile Health](https://microprofile.io/project/eclipse/microprofile-health)). From 242d647fc1e6a7d23428e015ce9d1bd44820bd1f Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:00:49 -0400 Subject: [PATCH 20/27] Rename config-updates-disabled.xml --- .../{config-mbean.xml => config-updates-disabled.xml} | 0 ga/latest/kernel/helpers/build/configure.sh | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename ga/latest/kernel/helpers/build/configuration_snippets/{config-mbean.xml => config-updates-disabled.xml} (100%) diff --git a/ga/latest/kernel/helpers/build/configuration_snippets/config-mbean.xml b/ga/latest/kernel/helpers/build/configuration_snippets/config-updates-disabled.xml similarity index 100% rename from ga/latest/kernel/helpers/build/configuration_snippets/config-mbean.xml rename to ga/latest/kernel/helpers/build/configuration_snippets/config-updates-disabled.xml diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index 720189aa..448bdb87 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -44,8 +44,8 @@ function main() { mkdir -p ${SNIPPETS_TARGET_DEFAULTS} # Disable automatic configuration file monitoring (security hardening) - cp $SNIPPETS_SOURCE/config-mbean.xml $SNIPPETS_TARGET/config-mbean.xml - chmod g+rw $SNIPPETS_TARGET/config-mbean.xml + cp $SNIPPETS_SOURCE/config-updates-disabled.xml $SNIPPETS_TARGET_DEFAULTS/config-updates-disabled.xml + chmod g+rw $SNIPPETS_TARGET_DEFAULTS/config-updates-disabled.xml # HTTP port is disabled by default. Set ENABLE_HTTP_PORT=true to re-enable port 9080. if [ "$ENABLE_HTTP_PORT" != "true" ]; then From dab7d0702e18547a7948b5fbbbf0c27b19a45121 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:02:48 -0400 Subject: [PATCH 21/27] Add productInfo validate skip flag --- README.md | 2 ++ ...nfig-updates-disabled.xml => update-trigger-disabled.xml} | 0 ga/latest/kernel/helpers/build/configure.sh | 4 ++-- ga/latest/kernel/helpers/build/features.sh | 5 ++++- 4 files changed, 8 insertions(+), 3 deletions(-) rename ga/latest/kernel/helpers/build/configuration_snippets/{config-updates-disabled.xml => update-trigger-disabled.xml} (100%) diff --git a/README.md b/README.md index 83d4fd0f..b3a29455 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,8 @@ This section describes the optional build variables that can be enabled via the * XML Snippet Location: [hazelcast-sessioncache.xml](ga/latest/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml) * `SKIP_FEATURE_INSTALL` * Description: Default setting is `false`. When set to `true`, Liberty features will not be installed using `installUtility` when `configure.sh` is run. This setting is not applicable when `features.sh` is run. +* `SKIP_FEATURE_VALIDATE` + * Description: Default setting is `false`. When set to `true`, `productInfo validate` will be skipped after feature installation in `features.sh`. Validation is recommended and should only be skipped when necessary. * `TLS` (`SSL` is deprecated) * Description: Enable Transport Security in Liberty by adding the `transportSecurity-1.0` feature (includes support for SSL). * XML Snippet Location: [keystore.xml](ga/latest/kernel/helpers/build/configuration_snippets/keystore.xml). diff --git a/ga/latest/kernel/helpers/build/configuration_snippets/config-updates-disabled.xml b/ga/latest/kernel/helpers/build/configuration_snippets/update-trigger-disabled.xml similarity index 100% rename from ga/latest/kernel/helpers/build/configuration_snippets/config-updates-disabled.xml rename to ga/latest/kernel/helpers/build/configuration_snippets/update-trigger-disabled.xml diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index 448bdb87..b633f786 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -44,8 +44,8 @@ function main() { mkdir -p ${SNIPPETS_TARGET_DEFAULTS} # Disable automatic configuration file monitoring (security hardening) - cp $SNIPPETS_SOURCE/config-updates-disabled.xml $SNIPPETS_TARGET_DEFAULTS/config-updates-disabled.xml - chmod g+rw $SNIPPETS_TARGET_DEFAULTS/config-updates-disabled.xml + cp $SNIPPETS_SOURCE/update-trigger-disabled.xml $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + chmod g+rw $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml # HTTP port is disabled by default. Set ENABLE_HTTP_PORT=true to re-enable port 9080. if [ "$ENABLE_HTTP_PORT" != "true" ]; then diff --git a/ga/latest/kernel/helpers/build/features.sh b/ga/latest/kernel/helpers/build/features.sh index 8ae73327..c3771aa6 100755 --- a/ga/latest/kernel/helpers/build/features.sh +++ b/ga/latest/kernel/helpers/build/features.sh @@ -44,6 +44,9 @@ featureUtility installServerFeatures --acceptLicense defaultServer --noCache find /opt/ibm/wlp/lib /opt/ibm/wlp/bin ! -perm -g=rw -print0 | xargs -0 -r chmod g+rw # Validate the Liberty installation integrity after feature installation -/opt/ibm/wlp/bin/productInfo validate +# Set SKIP_FEATURE_VALIDATE=true to skip this step. +if [ "$SKIP_FEATURE_VALIDATE" != "true" ]; then + /opt/ibm/wlp/bin/productInfo validate +fi echo "features.sh script has been run" > /logs/features.log From 6ab3d6421e184716347fbd1884b107d530a514c2 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:09:13 -0400 Subject: [PATCH 22/27] Add SKIP_UPDATE_TRIGGER_DISABLED flag --- README.md | 2 ++ ga/latest/kernel/helpers/build/configure.sh | 8 +++++--- ga/latest/kernel/helpers/build/features.sh | 1 - 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b3a29455..3dd9588a 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,8 @@ This section describes the optional build variables that can be enabled via the * Description: Default setting is `false`. When set to `true`, Liberty features will not be installed using `installUtility` when `configure.sh` is run. This setting is not applicable when `features.sh` is run. * `SKIP_FEATURE_VALIDATE` * Description: Default setting is `false`. When set to `true`, `productInfo validate` will be skipped after feature installation in `features.sh`. Validation is recommended and should only be skipped when necessary. +* `SKIP_UPDATE_TRIGGER_DISABLED` + * Description: Default setting is `false`. When set to `true`, the `update-trigger-disabled.xml` snippet will not be copied into `configDropins/defaults`, re-enabling automatic configuration file monitoring. Disabling monitoring is recommended for production. * `TLS` (`SSL` is deprecated) * Description: Enable Transport Security in Liberty by adding the `transportSecurity-1.0` feature (includes support for SSL). * XML Snippet Location: [keystore.xml](ga/latest/kernel/helpers/build/configuration_snippets/keystore.xml). diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index b633f786..26032b54 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -43,9 +43,11 @@ function main() { mkdir -p ${SNIPPETS_TARGET} mkdir -p ${SNIPPETS_TARGET_DEFAULTS} - # Disable automatic configuration file monitoring (security hardening) - cp $SNIPPETS_SOURCE/update-trigger-disabled.xml $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml - chmod g+rw $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + # Disable automatic configuration file monitoring (security hardening). + if [ "$SKIP_UPDATE_TRIGGER_DISABLED" != "true" ]; then + cp $SNIPPETS_SOURCE/update-trigger-disabled.xml $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + chmod g+rw $SNIPPETS_TARGET_DEFAULTS/update-trigger-disabled.xml + fi # HTTP port is disabled by default. Set ENABLE_HTTP_PORT=true to re-enable port 9080. if [ "$ENABLE_HTTP_PORT" != "true" ]; then diff --git a/ga/latest/kernel/helpers/build/features.sh b/ga/latest/kernel/helpers/build/features.sh index c3771aa6..6331c3e3 100755 --- a/ga/latest/kernel/helpers/build/features.sh +++ b/ga/latest/kernel/helpers/build/features.sh @@ -44,7 +44,6 @@ featureUtility installServerFeatures --acceptLicense defaultServer --noCache find /opt/ibm/wlp/lib /opt/ibm/wlp/bin ! -perm -g=rw -print0 | xargs -0 -r chmod g+rw # Validate the Liberty installation integrity after feature installation -# Set SKIP_FEATURE_VALIDATE=true to skip this step. if [ "$SKIP_FEATURE_VALIDATE" != "true" ]; then /opt/ibm/wlp/bin/productInfo validate fi From b0ce4c0d7962424bb7376e0022a02b74249d52ef Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:28:31 -0400 Subject: [PATCH 23/27] Rebase on ubi-micro changes --- 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 +- ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 | 2 +- ga/latest/kernel/Dockerfile.ubi10-micro.openjdk11 | 2 +- ga/latest/kernel/Dockerfile.ubi10-micro.openjdk17 | 2 +- ga/latest/kernel/Dockerfile.ubi10-micro.openjdk21 | 2 +- ga/latest/kernel/Dockerfile.ubi10-micro.openjdk25 | 2 +- ga/latest/kernel/Dockerfile.ubi10-micro.openjdk8 | 2 +- ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 | 2 +- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 | 2 +- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 | 2 +- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 | 2 +- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 | 2 +- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 | 2 +- ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 | 2 +- ga/latest/kernel/Dockerfile.ubuntu.openjdk11 | 2 +- ga/latest/kernel/Dockerfile.ubuntu.openjdk17 | 2 +- ga/latest/kernel/helpers/build/populate_scc.sh | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index a80f0587..8997224e 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -178,7 +178,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index ceda338a..23e3d4f9 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -180,7 +180,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index f49e08e4..d0175b0e 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -179,7 +179,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index 27d1a9ff..ea065b4c 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -179,7 +179,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 index 6ff1fa27..e14db73f 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.ibmjava8 @@ -201,7 +201,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 0279b552..b711ea76 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk11 @@ -185,7 +185,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 6e109d80..1f3d238a 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk17 @@ -185,7 +185,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index ae19d839..3eefb211 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk21 @@ -185,7 +185,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index 3bd65fbb..859124d0 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk25 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk25 @@ -185,7 +185,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 index bdda07c6..0d34796b 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi10-micro.openjdk8 @@ -185,7 +185,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9080 9443 +EXPOSE 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 1d66e75f..d86da65b 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 @@ -192,7 +192,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.openjdk11 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 index 61cb34db..cd88363b 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 @@ -179,7 +179,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.openjdk17 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 index 0f25914e..f8fbbc09 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 @@ -179,7 +179,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.openjdk21 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 index 75250af1..5818627b 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 @@ -179,7 +179,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.openjdk25 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 index e650bf03..b5a71c37 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 @@ -179,7 +179,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.openjdk8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 index 821cf7fd..9f6a02b3 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 @@ -179,7 +179,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.ubuntu.ibmjava8 b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 index 4573f53f..0a87a63b 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 @@ -159,7 +159,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.ubuntu.openjdk11 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 index b3726794..cd6650ad 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 @@ -154,7 +154,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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.ubuntu.openjdk17 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 index 2bbbb7c4..ba4a3485 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 @@ -154,7 +154,7 @@ ENV RANDFILE=/tmp/.rnd \ USER 1001 -EXPOSE 9443 +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/helpers/build/populate_scc.sh b/ga/latest/kernel/helpers/build/populate_scc.sh index 393dfecc..87318485 100755 --- a/ga/latest/kernel/helpers/build/populate_scc.sh +++ b/ga/latest/kernel/helpers/build/populate_scc.sh @@ -16,7 +16,7 @@ # 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"; } + http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 --insecure "$1"; } else http_get() { wget -q -O /dev/null -T 5 "$1"; } fi From 7330252790ce20eb926999a7a5bfdade25ea4769 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Wed, 19 Aug 2026 00:25:44 -0400 Subject: [PATCH 24/27] Update populate_scc.sh --- ga/latest/kernel/helpers/build/populate_scc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ga/latest/kernel/helpers/build/populate_scc.sh b/ga/latest/kernel/helpers/build/populate_scc.sh index 87318485..5b5792b3 100755 --- a/ga/latest/kernel/helpers/build/populate_scc.sh +++ b/ga/latest/kernel/helpers/build/populate_scc.sh @@ -18,7 +18,7 @@ if command -v curl > /dev/null 2>&1; then http_get() { curl --silent --output /dev/null --show-error --fail --max-time 5 --insecure "$1"; } else - http_get() { wget -q -O /dev/null -T 5 "$1"; } + http_get() { wget -q --no-check-certificate -O /dev/null -T 5 "$1"; } fi set -Eeo pipefail From 0bfaba1d831fec297b76d0f3715f914cc83bf02b Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Wed, 19 Aug 2026 14:40:32 -0400 Subject: [PATCH 25/27] Set ENABLE_HTTP_PORT=true on non ubi-micro images --- ga/latest/kernel/Dockerfile.ubi.ibmjava8 | 3 ++- ga/latest/kernel/Dockerfile.ubi.openjdk11 | 3 ++- ga/latest/kernel/Dockerfile.ubi.openjdk17 | 3 ++- ga/latest/kernel/Dockerfile.ubi.openjdk8 | 3 ++- ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 | 3 ++- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 | 3 ++- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 | 3 ++- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 | 3 ++- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 | 3 ++- ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 | 3 ++- ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 | 3 ++- ga/latest/kernel/Dockerfile.ubuntu.openjdk11 | 3 ++- ga/latest/kernel/Dockerfile.ubuntu.openjdk17 | 3 ++- 13 files changed, 26 insertions(+), 13 deletions(-) diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index 8997224e..513eeb49 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -119,7 +119,8 @@ RUN yum -y install openssl \ # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index 23e3d4f9..863b9d46 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -120,7 +120,8 @@ RUN yum -y install openssl \ # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index d0175b0e..dc0e12cc 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -119,7 +119,8 @@ RUN yum -y install openssl \ # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index ea065b4c..adbe1727 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -119,7 +119,8 @@ RUN yum -y install openssl \ # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 index d86da65b..2cff07e6 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.ibmjava8 @@ -133,7 +133,8 @@ COPY --from=getRuntime /licenses /licenses # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 index cd88363b..3becfd68 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk11 @@ -119,7 +119,8 @@ COPY --from=getRuntime /licenses /licenses # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 index f8fbbc09..c04ad088 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk17 @@ -119,7 +119,8 @@ COPY --from=getRuntime /licenses /licenses # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 index 5818627b..03c64403 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk21 @@ -119,7 +119,8 @@ COPY --from=getRuntime /licenses /licenses # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 index b5a71c37..e4f214b8 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk25 @@ -119,7 +119,8 @@ COPY --from=getRuntime /licenses /licenses # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 index 9f6a02b3..a9e33888 100644 --- a/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi10-minimal.openjdk8 @@ -119,7 +119,8 @@ COPY --from=getRuntime /licenses /licenses # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 index 0a87a63b..5e5bf087 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 @@ -100,7 +100,8 @@ RUN apt-get update \ # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 index cd6650ad..dc86d3f0 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 @@ -95,7 +95,8 @@ RUN apt-get update \ # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 index ba4a3485..30fdef6f 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 @@ -95,7 +95,8 @@ RUN apt-get update \ # Set Path Shortcuts ENV LOG_DIR=/liberty/logs \ WLP_OUTPUT_DIR=/opt/ibm/wlp/output \ - OPENJ9_SCC=$OPENJ9_SCC + OPENJ9_SCC=$OPENJ9_SCC \ + ENABLE_HTTP_PORT=true # Configure WebSphere Liberty RUN /opt/ibm/wlp/bin/server create \ From 1836babc1fe442e26972b3598acf2ef2def5f04a Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Wed, 19 Aug 2026 14:52:33 -0400 Subject: [PATCH 26/27] Update WARM_ENDPOINT_URL with HTTP_PORT and HTTPS_PORT values --- ga/latest/kernel/helpers/build/configure.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index 26032b54..b85acde6 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -200,15 +200,19 @@ function main() { if [ "$WARM_ENDPOINT" = "false" ]; then cmd+=" -c" fi - if [ ! "$WARM_ENDPOINT_URL" = "" ]; then - cmd+=" -u $WARM_ENDPOINT_URL" + # Default warm endpoint URLs based on whether HTTP port is enabled. + if [ "$ENABLE_HTTP_PORT" == "true" ]; then + default_warm_url="http://localhost:${HTTP_PORT:-9080}/" + default_warm_openapi_url="http://localhost:${HTTP_PORT:-9080}/openapi" + else + default_warm_url="https://localhost:${HTTPS_PORT:-9443}/" + default_warm_openapi_url="https://localhost:${HTTPS_PORT:-9443}/openapi" fi + cmd+=" -u ${WARM_ENDPOINT_URL:-$default_warm_url}" if [ "$WARM_OPENAPI_ENDPOINT" = "false" ]; then cmd+=" -l" fi - if [ ! "$WARM_OPENAPI_ENDPOINT_URL" = "" ]; then - cmd+=" -o $WARM_OPENAPI_ENDPOINT_URL" - fi + cmd+=" -o ${WARM_OPENAPI_ENDPOINT_URL:-$default_warm_openapi_url}" eval $cmd fi } From 290a707efcaf997b5e492648901e2288529bdca6 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Wed, 19 Aug 2026 15:01:07 -0400 Subject: [PATCH 27/27] Document ENABLE_HTTP_PORT defaults based on image type --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3dd9588a..9f7553b1 100644 --- a/README.md +++ b/README.md @@ -94,8 +94,8 @@ This section describes the optional build variables that can be enabled via the * Default: `"true"`. * Note: If `ltpa_keys_password` is already set, automatic generation is skipped. Set to `"false"` to disable. * `ENABLE_HTTP_PORT` - * Description: Controls whether the HTTP port (port 9080 by default) is enabled. By default, the HTTP port is disabled (`-1`) and HTTPS remains enabled as the expected transport. Set to `true` to re-enable the HTTP port. - * Default: `"false"`. + * Description: Controls whether the HTTP port (9080) is enabled. Starting with `ubi10-micro` images, the HTTP port is disabled by default and HTTPS (9443) remains enabled. Set to `true` to re-enable plain HTTP. + * Default: `"true"` (all images except `ubi10-micro`), `"false"` (`ubi10-micro`). ### Deprecated Build Variables