From f59ccc70421077ca72d2278065aafeb4992d31a2 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 17:30:35 +0000 Subject: [PATCH 1/2] Updates for the release of 24.0.0.7 --- ga/24.0.0.7/README.md | 6 + ga/24.0.0.7/full/Dockerfile.ubi.ibmjava8 | 51 ++++ ga/24.0.0.7/full/Dockerfile.ubi.openjdk11 | 51 ++++ ga/24.0.0.7/full/Dockerfile.ubi.openjdk17 | 51 ++++ ga/24.0.0.7/full/Dockerfile.ubi.openjdk21 | 51 ++++ ga/24.0.0.7/full/Dockerfile.ubi.openjdk8 | 51 ++++ ga/24.0.0.7/full/Dockerfile.ubuntu.ibmjava8 | 38 +++ ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk11 | 38 +++ ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk17 | 38 +++ ga/24.0.0.7/full/README.md | 7 + ga/24.0.0.7/full/resources/.gitkeep | 0 ga/24.0.0.7/full/server.xml | 36 +++ ga/24.0.0.7/images.txt | 18 ++ ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 | 178 +++++++++++++ ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 | 180 ++++++++++++++ ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 | 179 ++++++++++++++ ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 | 179 ++++++++++++++ ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 | 179 ++++++++++++++ ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 | 159 ++++++++++++ .../kernel/Dockerfile.ubuntu.openjdk11 | 154 ++++++++++++ .../kernel/Dockerfile.ubuntu.openjdk17 | 154 ++++++++++++ ga/24.0.0.7/kernel/NOTICES | 72 ++++++ ga/24.0.0.7/kernel/README.md | 9 + ga/24.0.0.7/kernel/fixes/.gitkeep | 2 + .../kernel/helpers/build/checkpoint.sh | 40 +++ .../hazelcast-client.xml | 16 ++ .../hazelcast-embedded.xml | 19 ++ .../hazelcast-sessioncache-config.xml | 8 + .../hazelcast-sessioncache.xml | 11 + .../configuration_snippets/http-endpoint.xml | 5 + .../http-ssl-endpoint.xml | 6 + .../configuration_snippets/iiop-endpoint.xml | 5 + .../iiop-ssl-endpoint.xml | 8 + .../infinispan-client-sessioncache-config.xml | 16 ++ .../infinispan-client-sessioncache.xml | 19 ++ .../configuration_snippets/jms-endpoint.xml | 5 + .../jms-ssl-endpoint.xml | 5 + .../build/configuration_snippets/keystore.xml | 3 + .../mp-health-check.xml | 6 + .../configuration_snippets/mp-monitoring.xml | 9 + .../configuration_snippets/oidc-config.xml | 8 + .../build/configuration_snippets/oidc.xml | 6 + .../sessioncache-features.xml | 5 + .../configuration_snippets/sso-facebook.xml | 19 ++ .../configuration_snippets/sso-features.xml | 7 + .../configuration_snippets/sso-github.xml | 24 ++ .../configuration_snippets/sso-google.xml | 19 ++ .../configuration_snippets/sso-linkedin.xml | 19 ++ .../configuration_snippets/sso-oauth2.xml | 51 ++++ .../build/configuration_snippets/sso-oidc.xml | 38 +++ .../configuration_snippets/sso-twitter.xml | 17 ++ .../build/configuration_snippets/tls.xml | 5 + .../configuration_snippets/trustDefault.xml | 4 + .../configuration_snippets/truststore.xml | 5 + ga/24.0.0.7/kernel/helpers/build/configure.sh | 234 ++++++++++++++++++ ga/24.0.0.7/kernel/helpers/build/features.sh | 48 ++++ .../helpers/build/infinispan-client-setup.sh | 35 +++ .../build/internal/features-installed.sh | 9 + ga/24.0.0.7/kernel/helpers/build/pidplus.sh | 6 + .../kernel/helpers/build/populate_scc.sh | 191 ++++++++++++++ .../kernel/helpers/runtime/docker-server.sh | 159 ++++++++++++ .../kernel/helpers/runtime/restore-server.sh | 6 + ga/24.0.0.7/kernel/resources/.gitkeep | 0 ga/24.0.0.7/oidcProvider/Dockerfile | 32 +++ ga/24.0.0.7/oidcProvider/Dockerfile.java11 | 32 +++ ga/24.0.0.7/oidcProvider/README.md | 7 + ga/24.0.0.7/oidcProvider/server.xml | 143 +++++++++++ ga/latest/kernel/Dockerfile.ubi.ibmjava8 | 8 +- ga/latest/kernel/Dockerfile.ubi.openjdk11 | 8 +- ga/latest/kernel/Dockerfile.ubi.openjdk17 | 8 +- ga/latest/kernel/Dockerfile.ubi.openjdk21 | 8 +- ga/latest/kernel/Dockerfile.ubi.openjdk8 | 8 +- ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 | 6 +- ga/latest/kernel/Dockerfile.ubuntu.openjdk11 | 6 +- ga/latest/kernel/Dockerfile.ubuntu.openjdk17 | 6 +- 75 files changed, 3220 insertions(+), 29 deletions(-) create mode 100644 ga/24.0.0.7/README.md create mode 100644 ga/24.0.0.7/full/Dockerfile.ubi.ibmjava8 create mode 100644 ga/24.0.0.7/full/Dockerfile.ubi.openjdk11 create mode 100644 ga/24.0.0.7/full/Dockerfile.ubi.openjdk17 create mode 100644 ga/24.0.0.7/full/Dockerfile.ubi.openjdk21 create mode 100644 ga/24.0.0.7/full/Dockerfile.ubi.openjdk8 create mode 100644 ga/24.0.0.7/full/Dockerfile.ubuntu.ibmjava8 create mode 100644 ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk11 create mode 100644 ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk17 create mode 100644 ga/24.0.0.7/full/README.md create mode 100644 ga/24.0.0.7/full/resources/.gitkeep create mode 100644 ga/24.0.0.7/full/server.xml create mode 100644 ga/24.0.0.7/images.txt create mode 100644 ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 create mode 100644 ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 create mode 100644 ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 create mode 100644 ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 create mode 100644 ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 create mode 100644 ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 create mode 100644 ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 create mode 100644 ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 create mode 100644 ga/24.0.0.7/kernel/NOTICES create mode 100644 ga/24.0.0.7/kernel/README.md create mode 100644 ga/24.0.0.7/kernel/fixes/.gitkeep create mode 100755 ga/24.0.0.7/kernel/helpers/build/checkpoint.sh create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-client.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-embedded.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache-config.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/http-endpoint.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/iiop-endpoint.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/iiop-ssl-endpoint.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache-config.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/jms-endpoint.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/jms-ssl-endpoint.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/keystore.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/mp-health-check.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/mp-monitoring.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/oidc-config.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/oidc.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sessioncache-features.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-facebook.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-features.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-github.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-google.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-linkedin.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-oauth2.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-oidc.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-twitter.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/tls.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/trustDefault.xml create mode 100644 ga/24.0.0.7/kernel/helpers/build/configuration_snippets/truststore.xml create mode 100755 ga/24.0.0.7/kernel/helpers/build/configure.sh create mode 100755 ga/24.0.0.7/kernel/helpers/build/features.sh create mode 100755 ga/24.0.0.7/kernel/helpers/build/infinispan-client-setup.sh create mode 100755 ga/24.0.0.7/kernel/helpers/build/internal/features-installed.sh create mode 100755 ga/24.0.0.7/kernel/helpers/build/pidplus.sh create mode 100755 ga/24.0.0.7/kernel/helpers/build/populate_scc.sh create mode 100755 ga/24.0.0.7/kernel/helpers/runtime/docker-server.sh create mode 100755 ga/24.0.0.7/kernel/helpers/runtime/restore-server.sh create mode 100644 ga/24.0.0.7/kernel/resources/.gitkeep create mode 100644 ga/24.0.0.7/oidcProvider/Dockerfile create mode 100644 ga/24.0.0.7/oidcProvider/Dockerfile.java11 create mode 100644 ga/24.0.0.7/oidcProvider/README.md create mode 100644 ga/24.0.0.7/oidcProvider/server.xml diff --git a/ga/24.0.0.7/README.md b/ga/24.0.0.7/README.md new file mode 100644 index 00000000..e0d4b8c1 --- /dev/null +++ b/ga/24.0.0.7/README.md @@ -0,0 +1,6 @@ +# WebSphere Application Server Developer Edition Liberty image + +Under this directory you can find build scripts for WebSphere Application Server Liberty container images: + +* [WebSphere Application Server Developer Edition Liberty, Kernel](kernel) +* [WebSphere Application Server Developer Edition Liberty, Full](full) diff --git a/ga/24.0.0.7/full/Dockerfile.ubi.ibmjava8 b/ga/24.0.0.7/full/Dockerfile.ubi.ibmjava8 new file mode 100644 index 00000000..dbfce265 --- /dev/null +++ b/ga/24.0.0.7/full/Dockerfile.ubi.ibmjava8 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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:24.0.0.7-kernel-java8-ibmjava-ubi +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:24.0.0.7-kernel-java8-ibmjava-ubi +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/24.0.0.7/full/Dockerfile.ubi.openjdk11 b/ga/24.0.0.7/full/Dockerfile.ubi.openjdk11 new file mode 100644 index 00000000..351fec3f --- /dev/null +++ b/ga/24.0.0.7/full/Dockerfile.ubi.openjdk11 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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:24.0.0.7-kernel-java11-openj9-ubi +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:24.0.0.7-kernel-java11-openj9-ubi +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/24.0.0.7/full/Dockerfile.ubi.openjdk17 b/ga/24.0.0.7/full/Dockerfile.ubi.openjdk17 new file mode 100644 index 00000000..4d72236c --- /dev/null +++ b/ga/24.0.0.7/full/Dockerfile.ubi.openjdk17 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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:24.0.0.7-kernel-java17-openj9-ubi +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:24.0.0.7-kernel-java17-openj9-ubi +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/24.0.0.7/full/Dockerfile.ubi.openjdk21 b/ga/24.0.0.7/full/Dockerfile.ubi.openjdk21 new file mode 100644 index 00000000..b7fd8295 --- /dev/null +++ b/ga/24.0.0.7/full/Dockerfile.ubi.openjdk21 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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:24.0.0.7-kernel-java21-openj9-ubi9-minimal +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:24.0.0.7-kernel-java21-openj9-ubi9-minimal +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/24.0.0.7/full/Dockerfile.ubi.openjdk8 b/ga/24.0.0.7/full/Dockerfile.ubi.openjdk8 new file mode 100644 index 00000000..be1ccdb1 --- /dev/null +++ b/ga/24.0.0.7/full/Dockerfile.ubi.openjdk8 @@ -0,0 +1,51 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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:24.0.0.7-kernel-java8-openj9-ubi +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:24.0.0.7-kernel-java8-openj9-ubi +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/24.0.0.7/full/Dockerfile.ubuntu.ibmjava8 b/ga/24.0.0.7/full/Dockerfile.ubuntu.ibmjava8 new file mode 100644 index 00000000..dbac514f --- /dev/null +++ b/ga/24.0.0.7/full/Dockerfile.ubuntu.ibmjava8 @@ -0,0 +1,38 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 websphere-liberty:24.0.0.7-kernel-java8-ibmjava + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# 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; \ + fi; \ + installUtility install --acceptLicense baseBundle; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +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/24.0.0.7/full/Dockerfile.ubuntu.openjdk11 b/ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk11 new file mode 100644 index 00000000..8dc26392 --- /dev/null +++ b/ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk11 @@ -0,0 +1,38 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 websphere-liberty:24.0.0.7-kernel-java11-openj9 + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# 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; \ + fi; \ + installUtility install --acceptLicense baseBundle; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +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/24.0.0.7/full/Dockerfile.ubuntu.openjdk17 b/ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk17 new file mode 100644 index 00000000..92e6ed90 --- /dev/null +++ b/ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk17 @@ -0,0 +1,38 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 websphere-liberty:24.0.0.7-kernel-java17-openj9 + +ARG VERBOSE=false +ARG REPOSITORIES_PROPERTIES="" + +# 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; \ + fi; \ + installUtility install --acceptLicense baseBundle; \ + if [ ! -z "$REPOSITORIES_PROPERTIES" ]; then \ + rm /opt/ibm/wlp/etc/repositories.properties; \ + fi; \ + rm -rf /output/workarea /output/logs; \ + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; + +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/24.0.0.7/full/README.md b/ga/24.0.0.7/full/README.md new file mode 100644 index 00000000..4292ed4c --- /dev/null +++ b/ga/24.0.0.7/full/README.md @@ -0,0 +1,7 @@ +# WebSphere Application Server Developer Edition Liberty image + +The [Dockerfile.ubuntu.ibmjava8](Dockerfile.ubuntu.ibmjava8) in this directory is used to build the `websphere-liberty:full` image on [Docker Hub](https://registry.hub.docker.com/_/websphere-liberty/). The image contains IBM WebSphere Liberty with an extensive set of features for convenience. + +# Usage + +Instructions for using the image can be found on [Docker Hub](https://registry.hub.docker.com/_/websphere-liberty/). It is possible to build the image yourself by cloning this repository, changing to the `ga//full` directory and then issuing the command to build container image. For example, with Docker execute `docker build .`. diff --git a/ga/24.0.0.7/full/resources/.gitkeep b/ga/24.0.0.7/full/resources/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/ga/24.0.0.7/full/server.xml b/ga/24.0.0.7/full/server.xml new file mode 100644 index 00000000..9d0b33f7 --- /dev/null +++ b/ga/24.0.0.7/full/server.xml @@ -0,0 +1,36 @@ + + + + + + javaee-8.0 + microProfile-3.0 + + + + + + + + + + + + + + + + + + + diff --git a/ga/24.0.0.7/images.txt b/ga/24.0.0.7/images.txt new file mode 100644 index 00000000..e00292e0 --- /dev/null +++ b/ga/24.0.0.7/images.txt @@ -0,0 +1,18 @@ +websphere-liberty:24.0.0.7-kernel ../ga/24.0.0.7/kernel ../ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 +websphere-liberty:24.0.0.7-kernel-java11-openj9 ../ga/24.0.0.7/kernel ../ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 +websphere-liberty:24.0.0.7-kernel-java17-openj9 ../ga/24.0.0.7/kernel ../ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 +websphere-liberty:24.0.0.7-kernel-java8-ibmjava-ubi ../ga/24.0.0.7/kernel ../ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 +websphere-liberty:24.0.0.7-kernel-java8-openj9-ubi ../ga/24.0.0.7/kernel ../ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 +websphere-liberty:24.0.0.7-kernel-java11-openj9-ubi ../ga/24.0.0.7/kernel ../ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 +websphere-liberty:24.0.0.7-kernel-java17-openj9-ubi ../ga/24.0.0.7/kernel ../ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 +websphere-liberty:24.0.0.7-full ../ga/24.0.0.7/full ../ga/24.0.0.7/full/Dockerfile.ubuntu.ibmjava8 +websphere-liberty:24.0.0.7-full-java11-openj9 ../ga/24.0.0.7/full ../ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk11 +websphere-liberty:24.0.0.7-full-java17-openj9 ../ga/24.0.0.7/full ../ga/24.0.0.7/full/Dockerfile.ubuntu.openjdk17 +websphere-liberty:24.0.0.7-full-java8-ibmjava-ubi ../ga/24.0.0.7/full ../ga/24.0.0.7/full/Dockerfile.ubi.ibmjava8 +websphere-liberty:24.0.0.7-full-java8-openj9-ubi ../ga/24.0.0.7/full ../ga/24.0.0.7/full/Dockerfile.ubi.openjdk8 +websphere-liberty:24.0.0.7-full-java11-openj9-ubi ../ga/24.0.0.7/full ../ga/24.0.0.7/full/Dockerfile.ubi.openjdk11 +websphere-liberty:24.0.0.7-full-java17-openj9-ubi ../ga/24.0.0.7/full ../ga/24.0.0.7/full/Dockerfile.ubi.openjdk17 +websphere-liberty:beta ../beta +websphere-liberty:test-stock-quote test-stock-quote +websphere-liberty:test-stock-trader test-stock-trader +websphere-liberty:test-pet-clinic test-pet-clinic diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 b/ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 new file mode 100644 index 00000000..6bae81e6 --- /dev/null +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 @@ -0,0 +1,178 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 ibmjava:8-ubi AS getRuntime + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA={replace_with_correct_sha} + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN yum -y install unzip wget openssl \ + && yum clean all \ + && 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/ + +FROM ibmjava:8-ubi + +USER root + +ARG VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ + 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 8 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" \ + vendor="IBM" \ + name="IBM WebSphere Liberty" \ + version="$LIBERTY_VERSION" \ + summary="Image for WebSphere Liberty with IBM's Java and Red Hat's UBI 8" \ + description="This image contains the WebSphere Liberty runtime with IBM's Java and Red Hat's UBI 8 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 + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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; + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && mkdir -p /opt/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp + +# Copy the runtime and licenses +COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp +COPY --from=getRuntime /licenses /licenses + +RUN yum -y install openssl \ + && yum clean all +# Set Path Shortcuts +ENV LOG_DIR=/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 \ + && 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 g+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 /logs \ + && chmod -R g+rw /logs \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default + +# 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/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 new file mode 100644 index 00000000..a4a0e2dc --- /dev/null +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 @@ -0,0 +1,180 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 icr.io/appcafe/ibm-semeru-runtimes:open-11-jdk-ubi AS getRuntime + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA={replace_with_correct_sha} + + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN yum -y install shadow-utils unzip wget findutils openssl \ + && yum clean all \ + && 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/ + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-11-jdk-ubi + +USER root + +ARG VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ + 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 8 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" \ + 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 8" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 8 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 + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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; + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && mkdir -p /opt/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp + +# Copy the runtime and licenses +COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp +COPY --from=getRuntime /licenses /licenses + +RUN yum -y install openssl \ + && yum clean all +# Set Path Shortcuts +ENV LOG_DIR=/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 \ + && 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 g+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 /logs \ + && chmod -R g+rw /logs \ + && 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 + +# 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/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 new file mode 100644 index 00000000..56affdc2 --- /dev/null +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 @@ -0,0 +1,179 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 icr.io/appcafe/ibm-semeru-runtimes:open-17-jdk-ubi AS getRuntime + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA={replace_with_correct_sha} + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN yum -y install shadow-utils unzip wget findutils openssl \ + && yum clean all \ + && 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/ + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-17-jdk-ubi + +USER root + +ARG VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ + 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 8 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" \ + 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 8" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 8 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 + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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; + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && mkdir -p /opt/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp + +# Copy the runtime and licenses +COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp +COPY --from=getRuntime /licenses /licenses + +RUN yum -y install openssl \ + && yum clean all +# Set Path Shortcuts +ENV LOG_DIR=/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 \ + && 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 g+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 /logs \ + && chmod -R g+rw /logs \ + && 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 + +# 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/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 new file mode 100644 index 00000000..15cc0e66 --- /dev/null +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 @@ -0,0 +1,179 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 icr.io/appcafe/ibm-semeru-runtimes:open-21-jre-ubi9-minimal AS getRuntime + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA={replace_with_correct_sha} + +# 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 \ + && 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/ + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-21-jre-ubi9-minimal + +USER root + +ARG VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ + 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 9 minimal 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" \ + 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 9 minimal" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 9 minimal 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 + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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; + +# Add default user 1001 and create wlp with right user/permissions before copying +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 \ + && chmod -R g+rw /opt/ibm/wlp \ + && microdnf remove -y shadow-utils \ + && microdnf clean all + +# Copy the runtime and licenses +COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp +COPY --from=getRuntime /licenses /licenses + +# Set Path Shortcuts +ENV LOG_DIR=/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 \ + && 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 g+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 /logs \ + && chmod -R g+rw /logs \ + && 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 + +# 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/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 new file mode 100644 index 00000000..535ea759 --- /dev/null +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 @@ -0,0 +1,179 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 icr.io/appcafe/ibm-semeru-runtimes:open-8-jdk-ubi AS getRuntime + +USER root + +ARG VERBOSE=false + +# Install WebSphere Liberty +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA={replace_with_correct_sha} + +# If there is a local copy of the image use that instead +COPY resources/ /tmp/ + +RUN yum -y install shadow-utils unzip wget findutils openssl \ + && yum clean all \ + && 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/ + +FROM icr.io/appcafe/ibm-semeru-runtimes:open-8-jdk-ubi + +USER root + +ARG VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ + 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 8 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" \ + 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 8" \ + description="This image contains the WebSphere Liberty runtime with IBM Semeru Runtime Open Edition OpenJDK with OpenJ9 and Red Hat's UBI 8 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 + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# 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; + +# Add default user 1001 and create wlp with right user/permissions before copying +RUN adduser -u 1001 -r -g root -s /usr/sbin/nologin default \ + && mkdir -p /opt/ibm/wlp \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp + +# Copy the runtime and licenses +COPY --from=getRuntime --chown=1001:0 /opt/ibm/wlp /opt/ibm/wlp +COPY --from=getRuntime /licenses /licenses + +RUN yum -y install openssl \ + && yum clean all +# Set Path Shortcuts +ENV LOG_DIR=/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 \ + && 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 g+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 /logs \ + && chmod -R g+rw /logs \ + && 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 + +# 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/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 new file mode 100644 index 00000000..a69dcf12 --- /dev/null +++ b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 @@ -0,0 +1,159 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 ibmjava:8-jre + +USER root + +ARG VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_SHA={replace_with_correct_sha} + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ + 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 Ubuntu 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" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# Install dumb-init +RUN set -eux; \ + apt-get update; \ + apt-get install -y curl; \ + ARCH="$(dpkg --print-architecture)"; \ + 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; \ + apt-get purge --auto-remove -y curl; \ + rm -rf /var/lib/apt/lists/*; + +# Install WebSphere Liberty +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" + +RUN apt-get update \ + && apt-get install -y --no-install-recommends unzip wget openssl \ + && rm -rf /var/lib/apt/lists/* \ + && 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' )} \ + && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && rm /tmp/wlp.zip \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ \ + && apt-get purge --auto-remove -y unzip \ + && apt-get purge --auto-remove -y wget \ + && rm -rf /var/lib/apt/lists/* + +# Set Path Shortcuts +ENV LOG_DIR=/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 \ + && 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 g+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 /logs \ + && chmod -R g+rw /logs \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default + +# 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/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 new file mode 100644 index 00000000..5d2bc2e7 --- /dev/null +++ b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 @@ -0,0 +1,154 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 ibm-semeru-runtimes:open-11-jre-jammy + +USER root + +ARG VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_SHA={replace_with_correct_sha} + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ + 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 Ubuntu 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" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# Install dumb-init +RUN set -eux; \ + ARCH="$(dpkg --print-architecture)"; \ + 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; + +# Install WebSphere Liberty +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +RUN apt-get update \ + && apt-get install -y --no-install-recommends unzip openssl wget \ + && rm -rf /var/lib/apt/lists/* \ + && 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' )} \ + && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && rm /tmp/wlp.zip \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ \ + && apt-get purge --auto-remove -y unzip \ + && apt-get purge --auto-remove -y wget \ + && rm -rf /var/lib/apt/lists/* + +# Set Path Shortcuts +ENV LOG_DIR=/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 \ + && 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 g+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 /logs \ + && chmod -R g+rw /logs \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default + +# 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/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 new file mode 100644 index 00000000..4a3489af --- /dev/null +++ b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 @@ -0,0 +1,154 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 ibm-semeru-runtimes:open-17-jre-jammy + +USER root + +ARG VERBOSE=false +ARG OPENJ9_SCC=true + +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_SHA={replace_with_correct_sha} + +LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ + 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 Ubuntu 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" + +ENV PATH=$PATH:/opt/ibm/wlp/bin:/opt/ibm/helpers/build + +# Add labels for consumption by IBM Product Insights +LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \ + "ProductName"="WebSphere Application Server Liberty" \ + "ProductVersion"="$LIBERTY_VERSION" \ + "BuildLabel"="$LIBERTY_BUILD_LABEL" + +# Install dumb-init +RUN set -eux; \ + ARCH="$(dpkg --print-architecture)"; \ + 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; + +# Install WebSphere Liberty +ARG LIBERTY_URL +ARG DOWNLOAD_OPTIONS="" +RUN apt-get update \ + && apt-get install -y --no-install-recommends unzip openssl wget \ + && rm -rf /var/lib/apt/lists/* \ + && 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' )} \ + && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ + && unzip -q /tmp/wlp.zip -d /opt/ibm \ + && rm /tmp/wlp.zip \ + && chown -R 1001:0 /opt/ibm/wlp \ + && chmod -R g+rw /opt/ibm/wlp \ + && cp -a /opt/ibm/wlp/lafiles/. /licenses/ \ + && apt-get purge --auto-remove -y unzip \ + && apt-get purge --auto-remove -y wget \ + && rm -rf /var/lib/apt/lists/* + +# Set Path Shortcuts +ENV LOG_DIR=/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 \ + && 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 g+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 /logs \ + && chmod -R g+rw /logs \ + && chown -R 1001:0 /etc/wlp \ + && chmod -R g+rw /etc/wlp \ + && chown -R 1001:0 /home/default \ + && chmod -R g+rw /home/default + +# 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/24.0.0.7/kernel/NOTICES b/ga/24.0.0.7/kernel/NOTICES new file mode 100644 index 00000000..474e8d98 --- /dev/null +++ b/ga/24.0.0.7/kernel/NOTICES @@ -0,0 +1,72 @@ +NOTICES AND INFORMATION + +IBM WebSphere Application Server Liberty @LIBERTY_VERSION@ + +The IBM license agreement and any applicable information on the web +download page for IBM products refers Licensee to this file for details +concerning notices applicable to code included in the products listed +above ("the Program"). + +Notwithstanding the terms and conditions of any other agreement Licensee +may have with IBM or any of its related or affiliated entities +(collectively "IBM"), the third party code identified below is subject +to the terms and conditions of the IBM license agreement for the Program +and not the license terms that may be contained in the notices below. +The notices are provided for informational purposes. + +Please note: This Notices file may identify information that is not used +by, or that was not shipped with, the Program as Licensee installed it. + +IMPORTANT: IBM does not represent or warrant that the information in this +NOTICES file is accurate. Third party websites are independent of IBM and +IBM does not represent or warrant that the information on any third party +website referenced in this NOTICES file is accurate. IBM disclaims any +and all liability for errors and omissions or for any damages accruing +from the use of this NOTICES file or its contents, including without +limitation URLs or references to any third party websites. + +TABLE OF CONTENTS + +THIS IBM NOTICES FILE CONSISTS OF THE FOLLOWING SECTIONS: +MIT + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +MIT LICENSE + +The Program includes some or all of the following that IBM obtained +under the MIT License: + +DUMB_INIT Copyright (c) 2015 Yelp, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +END OF MIT LICENSE NOTICES AND INFORMATION +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +END OF NOTICES AND INFORMATION +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + +END OF NOTICES AND INFORMATION FOR +IBM WebSphere Application Server Liberty @LIBERTY_VERSION@ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + diff --git a/ga/24.0.0.7/kernel/README.md b/ga/24.0.0.7/kernel/README.md new file mode 100644 index 00000000..32ce7911 --- /dev/null +++ b/ga/24.0.0.7/kernel/README.md @@ -0,0 +1,9 @@ +# WebSphere Application Server Developer Edition Liberty kernel image + +The [Dockerfile.ubuntu.ibmjava8](Dockerfile.ubuntu.ibmjava8) in this directory is used to build the `websphere-liberty:kernel` image on [Docker Hub](https://registry.hub.docker.com/_/websphere-liberty/). The image contains IBM WebSphere Application Server Developer Edition Liberty Kernel and an IBM Java Runtime Environment. + +# Usage + +Instructions for using the image can be found on [Docker Hub](https://registry.hub.docker.com/_/websphere-liberty/). It is possible to build the image yourself by cloning this repository, changing to the `ga//kernel` directory and then issuing the command to build container image. For example, with Docker execute `docker build .`. + +**Note:** Refer to [Optional Enterprise Functionality](https://github.com/WASdev/ci.docker#optional-enterprise-functionality) to ensure certain features are enabled such as monitoring or SSL. diff --git a/ga/24.0.0.7/kernel/fixes/.gitkeep b/ga/24.0.0.7/kernel/fixes/.gitkeep new file mode 100644 index 00000000..a282fd26 --- /dev/null +++ b/ga/24.0.0.7/kernel/fixes/.gitkeep @@ -0,0 +1,2 @@ +Place holder file to keep the fixes directory +in git even if there aren't any current ifixes. diff --git a/ga/24.0.0.7/kernel/helpers/build/checkpoint.sh b/ga/24.0.0.7/kernel/helpers/build/checkpoint.sh new file mode 100755 index 00000000..2b2fa90b --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/checkpoint.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# hack to bump up the pid by 1000 +for i in {1..1000} +do + pidplus.sh +done + +if [ -e /etc/instanton.ld.so.cache ]; then + cp /etc/instanton.ld.so.cache /etc/ld.so.cache +fi + +ARCH="$(uname -m)"; +case "${ARCH}" in + ppc64el|ppc64le) + export JVM_ARGS="${JVM_ARGS} -XX:+JVMPortableRestoreMode" + ;; + s390x) + export JVM_ARGS="${JVM_ARGS} -XX:+JVMPortableRestoreMode" + ;; + *) + ;; +esac; + + +echo "Performing checkpoint --at=$1" +/opt/ibm/wlp/bin/server checkpoint defaultServer --at=$1 + +rc=$? +if [ $rc -eq 0 ]; then + # Find all directories in logs/ and output/ that the current user has read/write/execute permissions for + # and give the same permissions to the group. + find -L /logs /output -type d -readable -writable -executable -exec chmod g+rwx {} \; + + # Find all files in logs/ and output/ that the current user has read/write permissions for + # and give the same permissions to the group. + find -L /logs /output -type f -readable -writable -exec chmod g+rw {} \; +fi + +exit $rc diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-client.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-client.xml new file mode 100644 index 00000000..61dddfce --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-client.xml @@ -0,0 +1,16 @@ + + + + true + + + true + + + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-embedded.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-embedded.xml new file mode 100644 index 00000000..4dd8f806 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-embedded.xml @@ -0,0 +1,19 @@ + + + + true + + + + + + + + + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache-config.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache-config.xml new file mode 100644 index 00000000..ce9fa0d7 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache-config.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml new file mode 100644 index 00000000..db8dc6a4 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml @@ -0,0 +1,11 @@ + + + sessionCache-1.0 + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/http-endpoint.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/http-endpoint.xml new file mode 100644 index 00000000..5f6c6055 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/http-endpoint.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml new file mode 100644 index 00000000..2a2388a3 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/iiop-endpoint.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/iiop-endpoint.xml new file mode 100644 index 00000000..a5b7d8a0 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/iiop-endpoint.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/iiop-ssl-endpoint.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/iiop-ssl-endpoint.xml new file mode 100644 index 00000000..f8fea3c8 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/iiop-ssl-endpoint.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache-config.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache-config.xml new file mode 100644 index 00000000..d835cb4e --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache-config.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache.xml new file mode 100644 index 00000000..e2ec72d2 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache.xml @@ -0,0 +1,19 @@ + + + sessionCache-1.0 + + + + + + + + + + + + + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/jms-endpoint.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/jms-endpoint.xml new file mode 100644 index 00000000..a99b0716 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/jms-endpoint.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/jms-ssl-endpoint.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/jms-ssl-endpoint.xml new file mode 100644 index 00000000..d32a77ce --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/jms-ssl-endpoint.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/keystore.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/keystore.xml new file mode 100644 index 00000000..d4872b5c --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/keystore.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/mp-health-check.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/mp-health-check.xml new file mode 100644 index 00000000..874559d6 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/mp-health-check.xml @@ -0,0 +1,6 @@ + + + + mpHealth-1.0 + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/mp-monitoring.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/mp-monitoring.xml new file mode 100644 index 00000000..4f5b0ce0 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/mp-monitoring.xml @@ -0,0 +1,9 @@ + + + + mpMetrics-1.1 + monitor-1.0 + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/oidc-config.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/oidc-config.xml new file mode 100644 index 00000000..976afbe4 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/oidc-config.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/oidc.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/oidc.xml new file mode 100644 index 00000000..f044723b --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/oidc.xml @@ -0,0 +1,6 @@ + + + + openidConnectClient-1.0 + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sessioncache-features.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sessioncache-features.xml new file mode 100644 index 00000000..f7b5a468 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sessioncache-features.xml @@ -0,0 +1,5 @@ + + + sessionCache-1.0 + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-facebook.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-facebook.xml new file mode 100644 index 00000000..0c2d8aa4 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-facebook.xml @@ -0,0 +1,19 @@ + + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-features.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-features.xml new file mode 100644 index 00000000..a26c00a5 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-features.xml @@ -0,0 +1,7 @@ + + + + appSecurity-2.0 + socialLogin-1.0 + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-github.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-github.xml new file mode 100644 index 00000000..1e96a50a --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-github.xml @@ -0,0 +1,24 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-google.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-google.xml new file mode 100644 index 00000000..50b40143 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-google.xml @@ -0,0 +1,19 @@ + + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-linkedin.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-linkedin.xml new file mode 100644 index 00000000..f608d5cb --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-linkedin.xml @@ -0,0 +1,19 @@ + + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-oauth2.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-oauth2.xml new file mode 100644 index 00000000..783ce2d9 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-oauth2.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-oidc.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-oidc.xml new file mode 100644 index 00000000..53046530 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-oidc.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-twitter.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-twitter.xml new file mode 100644 index 00000000..aedffbb5 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/sso-twitter.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/tls.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/tls.xml new file mode 100644 index 00000000..9d683890 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/tls.xml @@ -0,0 +1,5 @@ + + + transportSecurity-1.0 + + \ No newline at end of file diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/trustDefault.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/trustDefault.xml new file mode 100644 index 00000000..396987fa --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/trustDefault.xml @@ -0,0 +1,4 @@ + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/truststore.xml b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/truststore.xml new file mode 100644 index 00000000..3a32393d --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configuration_snippets/truststore.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/ga/24.0.0.7/kernel/helpers/build/configure.sh b/ga/24.0.0.7/kernel/helpers/build/configure.sh new file mode 100755 index 00000000..da873b2b --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/configure.sh @@ -0,0 +1,234 @@ +#!/bin/bash +# (C) Copyright IBM Corporation 2020, 2023. +# +# 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. + +# Determine if featureUtility ran in an earlier build step +if /opt/ibm/helpers/build/internal/features-installed.sh; then + FEATURES_INSTALLED=true +else + FEATURES_INSTALLED=false +fi + +if [ "$VERBOSE" != "true" ]; then + exec >/dev/null +fi + +set -Eeox pipefail + +function main() { + ##Define variables for XML snippets source and target paths + WLP_INSTALL_DIR=/opt/ibm/wlp + SHARED_CONFIG_DIR=${WLP_INSTALL_DIR}/usr/shared/config + SHARED_RESOURCE_DIR=${WLP_INSTALL_DIR}/usr/shared/resources + + 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} + + # 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 + fi + + # MicroProfile Monitoring + if [ "$MP_MONITORING" == "true" ]; then + cp $SNIPPETS_SOURCE/mp-monitoring.xml $SNIPPETS_TARGET/mp-monitoring.xml + fi + + # IIOP Endpoint + if [ "$IIOP_ENDPOINT" == "true" ]; then + if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then + cp $SNIPPETS_SOURCE/iiop-ssl-endpoint.xml $SNIPPETS_TARGET/iiop-ssl-endpoint.xml + else + cp $SNIPPETS_SOURCE/iiop-endpoint.xml $SNIPPETS_TARGET/iiop-endpoint.xml + fi + fi + + # JMS Endpoint + if [ "$JMS_ENDPOINT" == "true" ]; then + if [ "$SSL" == "true" ] || [ "$TLS" == "true" ]; then + cp $SNIPPETS_SOURCE/jms-ssl-endpoint.xml $SNIPPETS_TARGET/jms-ssl-endpoint.xml + else + cp $SNIPPETS_SOURCE/jms-endpoint.xml $SNIPPETS_TARGET/jms-endpoint.xml + fi + fi + + # OpenIdConnect Client + if [ "$OIDC" == "true" ] || [ "$OIDC_CONFIG" == "true" ]; then + cp $SNIPPETS_SOURCE/oidc.xml $SNIPPETS_TARGET/oidc.xml + fi + if [ "$OIDC_CONFIG" == "true" ]; then + cp $SNIPPETS_SOURCE/oidc-config.xml $SNIPPETS_TARGET/oidc-config.xml + fi + + # Infinispan Session Caching (Full) + if [[ -n "$INFINISPAN_SERVICE_NAME" ]]; then + cp ${SNIPPETS_SOURCE}/infinispan-client-sessioncache.xml ${SNIPPETS_TARGET}/infinispan-client-sessioncache.xml + chmod g+rw $SNIPPETS_TARGET/infinispan-client-sessioncache.xml + fi + + # Hazelcast Session Caching (Full) + if [ "${HZ_SESSION_CACHE}" == "client" ] || [ "${HZ_SESSION_CACHE}" == "embedded" ]; then + cp ${SNIPPETS_SOURCE}/hazelcast-sessioncache.xml ${SNIPPETS_TARGET}/hazelcast-sessioncache.xml + mkdir -p ${SHARED_CONFIG_DIR}/hazelcast + cp ${SNIPPETS_SOURCE}/hazelcast-${HZ_SESSION_CACHE}.xml ${SHARED_CONFIG_DIR}/hazelcast/hazelcast.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 + else + # Otherwise, load XML for addons that have features already installed + # Infinispan Session Caching + if [[ -n "$INFINISPAN_SERVICE_NAME" ]]; then + cp ${SNIPPETS_SOURCE}/infinispan-client-sessioncache-config.xml ${SNIPPETS_TARGET}/infinispan-client-sessioncache-config.xml + chmod g+rw $SNIPPETS_TARGET/infinispan-client-sessioncache-config.xml + fi + + # Hazelcast Session Caching + if [ "${HZ_SESSION_CACHE}" == "client" ] || [ "${HZ_SESSION_CACHE}" == "embedded" ]; then + cp ${SNIPPETS_SOURCE}/hazelcast-sessioncache-config.xml ${SNIPPETS_TARGET}/hazelcast-sessioncache-config.xml + mkdir -p ${SHARED_CONFIG_DIR}/hazelcast + cp ${SNIPPETS_SOURCE}/hazelcast-${HZ_SESSION_CACHE}.xml ${SHARED_CONFIG_DIR}/hazelcast/hazelcast.xml + fi + fi + + # Key Store + keystorePath="$SNIPPETS_TARGET_DEFAULTS/keystore.xml" + if [ "$SSL" != "false" ] && [ "$TLS" != "false" ]; then + if [ ! -e $keystorePath ]; then + # Generate the keystore.xml + export KEYSTOREPWD=$(openssl rand -base64 32) + sed "s|REPLACE|$KEYSTOREPWD|g" $SNIPPETS_SOURCE/keystore.xml > $SNIPPETS_TARGET_DEFAULTS/keystore.xml + chmod g+w $SNIPPETS_TARGET_DEFAULTS/keystore.xml + fi + fi + + # SSO + if [[ -n "$SEC_SSO_PROVIDERS" ]]; then + parseProviders $SEC_SSO_PROVIDERS + fi + + 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 + installUtility install --acceptLicense defaultServer --from=/tmp/repo.zip || rc=$?; if [ $rc -ne 22 ]; then exit $rc; fi + rm -rf /tmp/repo.zip + else + installUtility install --acceptLicense defaultServer || rc=$?; if [ $rc -ne 22 ]; then exit $rc; fi + fi + fi + + # Apply interim fixes found in /opt/ibm/fixes + # Fixes recommended by IBM, such as to resolve security vulnerabilities, are also included in /opt/ibm/fixes + # Note: This step should be done once needed features are enabled and installed using installUtility. + + # Do not create a SCC + if [ -n "${IBM_JAVA_OPTIONS}" ]; then + IBM_JAVA_OPTIONS="${IBM_JAVA_OPTIONS} -Xshareclasses:none" + fi + + if [ -n "${OPENJ9_JAVA_OPTIONS}" ]; then + OPENJ9_JAVA_OPTIONS="${OPENJ9_JAVA_OPTIONS} -Xshareclasses:none" + fi + + find /opt/ibm/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR + #Make sure that group write permissions are set correctly after installing new features + find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw + + # Force the server.xml to be processed by updating its timestamp + touch /config/server.xml + + # Create a new SCC layer + if [ "$OPENJ9_SCC" == "true" ]; then + cmd="populate_scc.sh -i 1" + if [ "$TRIM_SCC" == "false" ]; then + cmd+=" -d" + fi + if [ ! "$SCC_SIZE" = "" ]; then + cmd+=" -s $SCC_SIZE" + fi + if [ "$WARM_ENDPOINT" = "false" ]; then + cmd+=" -c" + fi + if [ ! "$WARM_ENDPOINT_URL" = "" ]; then + cmd+=" -u $WARM_ENDPOINT_URL" + fi + if [ "$WARM_OPENAPI_ENDPOINT" = "false" ]; then + cmd+=" -l" + fi + if [ ! "$WARM_OPENAPI_ENDPOINT_URL" = "" ]; then + cmd+=" -o $WARM_OPENAPI_ENDPOINT_URL" + fi + eval $cmd + fi +} + +## parse provider list to generate files into configDropins +function parseProviders() { + while [ $# -gt 0 ]; do + case "$1" in + oidc:*) + parseCommaList oidc "${1#*:}" + ;; + oauth2:*) + parseCommaList oauth2 "${1#*:}" + ;; + *) + if [[ $(ls $SNIPPETS_SOURCE | grep "$1") ]]; then + cp $SNIPPETS_SOURCE/sso-${1}.xml $SNIPPETS_TARGET_DEFAULTS + fi + ;; + esac + shift + done +} + +## process the comma delimitted oauth2/oidc source lists +function parseCommaList() { + local type="$1" + local list=$(echo "$2" | tr , " ") + + for current in ${list}; do + if [[ "${type}" = "oidc" ]]; then + # replace oidc identifiers with custom name + sed -e 's/=\"oidc/=\"'${current}'/g' -e 's/_OIDC_/_'${current^^}'_/g' $SNIPPETS_SOURCE/sso-oidc.xml > $SNIPPETS_TARGET_DEFAULTS/sso-${current}.xml + else + # replace oauth2 identifiers with custom name + sed -e 's/=\"oauth2/=\"'${current}'/g' -e 's/_OAUTH2_/_'${current^^}'_/g' $SNIPPETS_SOURCE/sso-oauth2.xml > $SNIPPETS_TARGET_DEFAULTS/sso-${current}.xml + fi + done +} + +main "$@" diff --git a/ga/24.0.0.7/kernel/helpers/build/features.sh b/ga/24.0.0.7/kernel/helpers/build/features.sh new file mode 100755 index 00000000..f6ac6152 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/features.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# (C) Copyright IBM Corporation 2023. +# +# 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. +if [ "$VERBOSE" != "true" ]; then + exec >/dev/null +fi + +set -Eeox 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 diff --git a/ga/24.0.0.7/kernel/helpers/build/infinispan-client-setup.sh b/ga/24.0.0.7/kernel/helpers/build/infinispan-client-setup.sh new file mode 100755 index 00000000..37dcda2b --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/infinispan-client-setup.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# (C) Copyright IBM Corporation 2020. +# +# 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. +if [ "$VERBOSE" != "true" ]; then + exec >/dev/null +fi + +set -Eeox pipefail + +yum update -y +yum install -y maven +mkdir -p /opt/ibm/wlp/usr/shared/resources/infinispan +echo ' 4.0.0 io.openliberty openliberty-infinispan-client 1.0 org.infinispan infinispan-jcache-remote 10.1.3.Final ' > /opt/ibm/wlp/usr/shared/resources/infinispan/pom.xml +mvn -f /opt/ibm/wlp/usr/shared/resources/infinispan/pom.xml versions:use-latest-releases -DallowMajorUpdates=false +mvn -f /opt/ibm/wlp/usr/shared/resources/infinispan/pom.xml dependency:copy-dependencies -DoutputDirectory=/opt/ibm/wlp/usr/shared/resources/infinispan +yum remove -y maven +rm -f /opt/ibm/wlp/usr/shared/resources/infinispan/pom.xml +rm -f /opt/ibm/wlp/usr/shared/resources/infinispan/jboss-transaction-api*.jar +rm -f /opt/ibm/wlp/usr/shared/resources/infinispan/reactive-streams-*.jar +rm -f /opt/ibm/wlp/usr/shared/resources/infinispan/rxjava-*.jar +rm -rf ~/.m2 +chown -R 1001:0 /opt/ibm/wlp/usr/shared/resources/infinispan +chmod -R g+rw /opt/ibm/wlp/usr/shared/resources/infinispan + diff --git a/ga/24.0.0.7/kernel/helpers/build/internal/features-installed.sh b/ga/24.0.0.7/kernel/helpers/build/internal/features-installed.sh new file mode 100755 index 00000000..c32ac59f --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/internal/features-installed.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +if [ -f "/logs/features.log" ]; then + rm /logs/features.log + exit 0 +fi + +>&2 echo "WARNING: This is not an optimal build configuration. Although features in server.xml will continue to be installed correctly, the 'RUN features.sh' command should be added to the Dockerfile prior to configure.sh. See https://ibm.biz/wl-app-image-template for a sample application image template." +exit 1 diff --git a/ga/24.0.0.7/kernel/helpers/build/pidplus.sh b/ga/24.0.0.7/kernel/helpers/build/pidplus.sh new file mode 100755 index 00000000..ad800795 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/pidplus.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# hack to bump up the pid +echo "nothing" > /dev/null + + diff --git a/ga/24.0.0.7/kernel/helpers/build/populate_scc.sh b/ga/24.0.0.7/kernel/helpers/build/populate_scc.sh new file mode 100755 index 00000000..c794e5a2 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/build/populate_scc.sh @@ -0,0 +1,191 @@ +#!/bin/bash +# (C) Copyright IBM Corporation 2020, 2024 +# +# 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. +if [ "$VERBOSE" != "true" ]; then + exec >/dev/null +fi + +set -Eeox pipefail + +# 32-bit JVMs don't supported multi-layered SCCs. +[ -e "$JAVA_HOME/lib/i386" -o -e "$JAVA_HOME/lib/ppc" -o -e "$JAVA_HOME/lib/s390" ] && exit 0 + +SCC_SIZE="80m" # Default size of the SCC layer. +ITERATIONS=2 # Number of iterations to run to populate it. +TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. +WARM_ENDPOINT=true +WARM_ENDPOINT_URL=localhost:9080/ +WARM_OPENAPI_ENDPOINT=true +WARM_OPENAPI_ENDPOINT_URL=localhost:9080/openapi + +# 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. +if [[ -d "/opt/java/.scc" ]] && [[ `stat -L -c "%a" "/opt/java/.scc" | cut -c 1,2` == "77" ]] +then + SCC="-Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc" +else + SCC="-Xshareclasses:name=liberty,cacheDir=/output/.classCache" +fi + +# For JDK8, as of OpenJ9 0.20.0 the criteria for determining the max heap size (-Xmx) has changed +# and the JVM has freedom to choose larger max heap sizes. +# Currently in compressedrefs mode there is a dependency between heap size and position and the AOT code stored in the +# SCC, such that if the max heap size/position changes too drastically the AOT code in the SCC becomes invalid and will +# not be loaded. Also, new AOT code will not be generated. +# In order to reduce the chances of this happening we use the -XX:+OriginalJDK8HeapSizeCompatibilityMode +# option to revert to the old criteria, which results in AOT code that is more compatible, on average, with typical heap sizes/positions. +# The option has no effect on later JDKs. +# Using -XX:+IProfileDuringStartupPhase to enforce IProfiler collection during the startup phase to better populate the SCC. +export OPENJ9_JAVA_OPTIONS="-XX:+OriginalJDK8HeapSizeCompatibilityMode -XX:+IProfileDuringStartupPhase $SCC" +export IBM_JAVA_OPTIONS="$OPENJ9_JAVA_OPTIONS" +CREATE_LAYER="$OPENJ9_JAVA_OPTIONS,createLayer,groupAccess" +DESTROY_LAYER="$OPENJ9_JAVA_OPTIONS,destroy" +PRINT_LAYER_STATS="$OPENJ9_JAVA_OPTIONS,printTopLayerStats" + +while getopts ":i:s:u:o:tdhwcml" OPT +do + case "$OPT" in + i) + ITERATIONS="$OPTARG" + ;; + s) + [ "${OPTARG: -1}" == "m" ] || ( echo "Missing m suffix." && exit 1 ) + SCC_SIZE="$OPTARG" + ;; + t) + TRIM_SCC=yes + ;; + d) + TRIM_SCC=no + ;; + w) + WARM_ENDPOINT=true + ;; + c) + WARM_ENDPOINT=false + ;; + u) + WARM_ENDPOINT_URL="${OPTARG}" + ;; + m) + WARM_OPENAPI_ENDPOINT=true + ;; + l) + WARM_OPENAPI_ENDPOINT=false + ;; + o) + WARM_OPENAPI_ENDPOINT_URL="${OPTARG}" + ;; + h) + echo \ +"Usage: $0 [-i iterations] [-s size] [-t] [-d] [-w] [-c] [-u url] [-m] [-l] [-o url] + -i Number of iterations to run to populate the SCC. (Default: $ITERATIONS) + -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) + -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) + -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) + + Trimming enabled=$TRIM_SCC" + exit 1 + ;; + \?) + echo "Unrecognized option: $OPTARG" 1>&2 + exit 1 + ;; + :) + echo "Missing argument for option: $OPTARG" 1>&2 + exit 1 + ;; + esac +done + +OLD_UMASK=`umask` +umask 002 # 002 is required to provide group rw permission to the cache when `-Xshareclasses:groupAccess` options is used + +# Explicity create a class cache layer for this image layer here rather than allowing +# `server start` to do it, which will lead to problems because multiple JVMs will be started. +java $CREATE_LAYER -Xscmx$SCC_SIZE -version + +if [ $TRIM_SCC == yes ] +then + echo "Calculating SCC layer upper bound, starting with initial size $SCC_SIZE." + # Populate the newly created class cache layer. + /opt/ibm/wlp/bin/server start + + 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" + 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" + fi + + /opt/ibm/wlp/bin/server stop + + # Find out how full it is. + FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` + echo "SCC layer is $FULL% full. Destroying layer." + # Destroy the layer once we know roughly how much space we need. + java $DESTROY_LAYER || true + # Remove the m suffix. + SCC_SIZE="${SCC_SIZE:0:-1}" + # Calculate the new size based on how full the layer was (rounded to nearest m). + SCC_SIZE=`awk "BEGIN {print int($SCC_SIZE * $FULL / 100.0 + 0.5)}"` + # Make sure size is >0. + [ $SCC_SIZE -eq 0 ] && SCC_SIZE=1 + # Add the m suffix back. + SCC_SIZE="${SCC_SIZE}m" + echo "Re-creating layer with size $SCC_SIZE." + # Recreate the layer with the new size. + java $CREATE_LAYER -Xscmx$SCC_SIZE -version +fi + +# Populate the newly created class cache layer. +# Server start/stop to populate the /output/workarea and make subsequent server starts faster. +for ((i=0; i<$ITERATIONS; i++)) +do + /opt/ibm/wlp/bin/server start + + 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" + 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" + fi + + /opt/ibm/wlp/bin/server stop +done + +# restore umask +umask ${OLD_UMASK} + +rm -rf /output/messaging /logs/* $WLP_OUTPUT_DIR/.classCache && chmod -R g+rwx /output/workarea + +if [[ -d "/output/resources" ]] +then + chmod -R g+rwx /output/resources +fi + + +# Tell the user how full the final layer is. +FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` +echo "SCC layer is $FULL% full." diff --git a/ga/24.0.0.7/kernel/helpers/runtime/docker-server.sh b/ga/24.0.0.7/kernel/helpers/runtime/docker-server.sh new file mode 100755 index 00000000..77f7b426 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/runtime/docker-server.sh @@ -0,0 +1,159 @@ +#!/bin/bash +# (C) Copyright IBM Corporation 2020. +# +# 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. + +function importKeyCert() { + local CERT_FOLDER="${TLS_DIR:-/etc/x509/certs}" + local CRT_FILE="tls.crt" + local KEY_FILE="tls.key" + local CA_FILE="ca.crt" + local PASSWORD=$(openssl rand -base64 32 2>/dev/null) + local TRUSTSTORE_PASSWORD=$(openssl rand -base64 32 2>/dev/null) + local TMP_CERT=ca-bundle-temp.crt + local -r CRT_DELIMITER="/-----BEGIN CERTIFICATE-----/" + local KUBE_SA_FOLDER="/var/run/secrets/kubernetes.io/serviceaccount" + local KEYSTORE_FILE="/output/resources/security/key.p12" + local TRUSTSTORE_FILE="/output/resources/security/trust.p12" + + # Import the private key and certificate into new keytore + if [ -f "${CERT_FOLDER}/${KEY_FILE}" ] && [ -f "${CERT_FOLDER}/${CRT_FILE}" ]; then + echo "Found mounted TLS certificates, generating keystore" + mkdir -p /output/resources/security + if [ -f "${CERT_FOLDER}/${CA_FILE}" ]; then + openssl pkcs12 -export \ + -name "defaultKeyStore" \ + -inkey "${CERT_FOLDER}/${KEY_FILE}" \ + -in "${CERT_FOLDER}/${CRT_FILE}" \ + -certfile "${CERT_FOLDER}/${CA_FILE}" \ + -out "${KEYSTORE_FILE}" \ + -password pass:"${PASSWORD}" >&/dev/null + else + openssl pkcs12 -export \ + -name "defaultKeyStore" \ + -inkey "${CERT_FOLDER}/${KEY_FILE}" \ + -in "${CERT_FOLDER}/${CRT_FILE}" \ + -out "${KEYSTORE_FILE}" \ + -password pass:"${PASSWORD}" >&/dev/null + fi + + # Since we are creating new keystore, always write new password to a file + sed "s|REPLACE|$PASSWORD|g" $SNIPPETS_SOURCE/keystore.xml > $SNIPPETS_TARGET_DEFAULTS/keystore.xml + + # Add mounted CA to the truststore + if [ -f "${CERT_FOLDER}/${CA_FILE}" ]; then + echo "Found mounted TLS CA certificate, adding to truststore" + keytool -import -storetype pkcs12 -noprompt -keystore "${TRUSTSTORE_FILE}" -file "${CERT_FOLDER}/${CA_FILE}" \ + -storepass "${TRUSTSTORE_PASSWORD}" -alias "service-ca" >&/dev/null + fi + fi + + # Add kubernetes CA certificates to the truststore + # CA bundles need to be split and added as individual certificates + if [ "$SEC_IMPORT_K8S_CERTS" = "true" ] && [ -d "${KUBE_SA_FOLDER}" ]; then + mkdir /tmp/certs + pushd /tmp/certs >&/dev/null + cat ${KUBE_SA_FOLDER}/*.crt >${TMP_CERT} + csplit -s -z -f crt- "${TMP_CERT}" "${CRT_DELIMITER}" '{*}' + for CERT_FILE in crt-*; do + keytool -import -storetype pkcs12 -noprompt -keystore "${TRUSTSTORE_FILE}" -file "${CERT_FILE}" \ + -storepass "${TRUSTSTORE_PASSWORD}" -alias "service-sa-${CERT_FILE}" >&/dev/null + done + popd >&/dev/null + rm -rf /tmp/certs + fi + + # Add the keystore password to server configuration + if [ ! -e $keystorePath ]; then + sed "s|REPLACE|$PASSWORD|g" $SNIPPETS_SOURCE/keystore.xml > $SNIPPETS_TARGET_DEFAULTS/keystore.xml + fi + if [ -e $TRUSTSTORE_FILE ]; then + sed "s|PWD_TRUST|$TRUSTSTORE_PASSWORD|g" $SNIPPETS_SOURCE/truststore.xml > $SNIPPETS_TARGET_OVERRIDES/truststore.xml + elif [ ! -z $SEC_TLS_TRUSTDEFAULTCERTS ]; then + cp $SNIPPETS_SOURCE/trustDefault.xml $SNIPPETS_TARGET_OVERRIDES/trustDefault.xml + fi +} + +case "${LICENSE,,}" in + "accept" ) # Suppress license message in logs + grep -s -F "com.ibm.ws.logging.hideMessage" /config/bootstrap.properties \ + && sed -i 's/^\(com.ibm.ws.logging.hideMessage=.*$\)/\1,CWWKE0100I/' /config/bootstrap.properties \ + || echo "com.ibm.ws.logging.hideMessage=CWWKE0100I" >> /config/bootstrap.properties + ;; + "view" ) # Display license file + cat /opt/ibm/wlp/lafiles/LI_${LANG:-en} + exit 1 + ;; + "" ) # Continue, displaying license message in logs + true + ;; + *) # License not accepted + echo -e "Set environment variable LICENSE=accept to indicate acceptance of license terms and conditions.\n\nLicense agreements and information can be viewed by running this image with the environment variable LICENSE=view. You can also set the LANG environment variable to view the license in a different language." + exit 1 + ;; +esac + +SNIPPETS_SOURCE=/opt/ibm/helpers/build/configuration_snippets +SNIPPETS_TARGET_DEFAULTS=/config/configDropins/defaults +SNIPPETS_TARGET_OVERRIDES=/config/configDropins/overrides + +keystorePath="$SNIPPETS_TARGET_DEFAULTS/keystore.xml" + +importKeyCert + +# Infinispan Session Caching +if [[ -n "$INFINISPAN_SERVICE_NAME" ]]; then + echo "INFINISPAN_SERVICE_NAME(original): ${INFINISPAN_SERVICE_NAME}" + INFINISPAN_SERVICE_NAME=$(echo ${INFINISPAN_SERVICE_NAME} | sed 's/-/_/g' | sed 's/./\U&/g') + echo "INFINISPAN_SERVICE_NAME(normalized): ${INFINISPAN_SERVICE_NAME}" + + if [[ -z "$INFINISPAN_HOST" ]]; then + eval INFINISPAN_HOST=\$${INFINISPAN_SERVICE_NAME}_SERVICE_HOST + export INFINISPAN_HOST + fi + echo "INFINISPAN_HOST: ${INFINISPAN_HOST}" + + if [[ -z "$INFINISPAN_PORT" ]]; then + eval INFINISPAN_PORT=\$${INFINISPAN_SERVICE_NAME}_SERVICE_PORT + export INFINISPAN_PORT + fi + echo "INFINISPAN_PORT: ${INFINISPAN_PORT:=11222}" + + if [[ -z "$INFINISPAN_USER" ]]; then + export INFINISPAN_USER=$(cat ${LIBERTY_INFINISPAN_SECRET_DIR:=/platform/bindings/infinispan/secret}/identities.yaml | grep -m 1 username | sed 's/username://' | sed 's/[[:space:]]*//g' | sed 's/^-//') + fi + echo "INFINISPAN_USER: ${INFINISPAN_USER:=developer}" + + if [[ -z "$INFINISPAN_PASS" ]]; then + export INFINISPAN_PASS=$(cat ${LIBERTY_INFINISPAN_SECRET_DIR:=/platform/bindings/infinispan/secret}/identities.yaml | grep -m 1 password | sed 's/password://' | sed 's/[[:space:]]*//g') + fi + echo "INFINISPAN_PASS: ${INFINISPAN_PASS}" +fi + + +# Pass on to the real server run +if [ -d "/output/workarea/checkpoint/image" ]; then + # A checkpoint image found; exec dumb-init for signal handling. + # Use of dumb-init for PID 1 is required for signal handling because + # the restored server process cannot be PID 1. + exec dumb-init --rewrite 15:2 -- /opt/ibm/helpers/runtime/restore-server.sh "$@" +elif [[ ! -z "$WLP_CHECKPOINT" ]]; then + # Unset WLP_CHECKPOINT so it is not set in the final image after checkpoint. + TMP_CHECKPOINT=$WLP_CHECKPOINT + unset WLP_CHECKPOINT + # A checkpoint action has been requested; run the checkpoint.sh script. + checkpoint.sh "$TMP_CHECKPOINT" +else + # The default is to just exec the supplied CMD + exec "$@" +fi diff --git a/ga/24.0.0.7/kernel/helpers/runtime/restore-server.sh b/ga/24.0.0.7/kernel/helpers/runtime/restore-server.sh new file mode 100755 index 00000000..cdcd8489 --- /dev/null +++ b/ga/24.0.0.7/kernel/helpers/runtime/restore-server.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# For restore use a copy of criu that does not have sys_ptrace +export CRIU_RESTORE_PATH=/opt/criu/criu +exec "$@" + diff --git a/ga/24.0.0.7/kernel/resources/.gitkeep b/ga/24.0.0.7/kernel/resources/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/ga/24.0.0.7/oidcProvider/Dockerfile b/ga/24.0.0.7/oidcProvider/Dockerfile new file mode 100644 index 00000000..b98aa0de --- /dev/null +++ b/ga/24.0.0.7/oidcProvider/Dockerfile @@ -0,0 +1,32 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 websphere-liberty:kernel + +ARG REPOSITORIES_PROPERTIES="" + +RUN if [ ! -z $REPOSITORIES_PROPERTIES ]; then mkdir /opt/ibm/wlp/etc/ \ + && echo $REPOSITORIES_PROPERTIES > /opt/ibm/wlp/etc/repositories.properties; fi \ + && installUtility install --acceptLicense \ + appSecurity-2.0 ldapRegistry-3.0 \ + localConnector-1.0 \ + samlWeb-2.0 \ + openidConnectServer-1.0 \ + socialLogin-1.0 \ + openidConnectClient-1.0 \ + && if [ ! -z $REPOSITORIES_PROPERTIES ]; then rm /opt/ibm/wlp/etc/repositories.properties; fi \ + && rm -rf /output/workarea /output/logs \ + && chmod -R g+rwx /opt/ibm/wlp/output/* + +COPY --chown=1001:0 server.xml /config/ diff --git a/ga/24.0.0.7/oidcProvider/Dockerfile.java11 b/ga/24.0.0.7/oidcProvider/Dockerfile.java11 new file mode 100644 index 00000000..e722d7d7 --- /dev/null +++ b/ga/24.0.0.7/oidcProvider/Dockerfile.java11 @@ -0,0 +1,32 @@ +# (C) Copyright IBM Corporation 2023. +# +# 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 websphere-liberty:kernel-java11 + +ARG REPOSITORIES_PROPERTIES="" + +RUN if [ ! -z $REPOSITORIES_PROPERTIES ]; then mkdir /opt/ibm/wlp/etc/ \ + && echo $REPOSITORIES_PROPERTIES > /opt/ibm/wlp/etc/repositories.properties; fi \ + && installUtility install --acceptLicense \ + appSecurity-2.0 ldapRegistry-3.0 \ + localConnector-1.0 \ + samlWeb-2.0 \ + openidConnectServer-1.0 \ + socialLogin-1.0 \ + openidConnectClient-1.0 \ + && if [ ! -z $REPOSITORIES_PROPERTIES ]; then rm /opt/ibm/wlp/etc/repositories.properties; fi \ + && rm -rf /output/workarea /output/logs \ + && chmod -R g+rwx /opt/ibm/wlp/output/* + +COPY --chown=1001:0 server.xml /config/ diff --git a/ga/24.0.0.7/oidcProvider/README.md b/ga/24.0.0.7/oidcProvider/README.md new file mode 100644 index 00000000..52d2c87f --- /dev/null +++ b/ga/24.0.0.7/oidcProvider/README.md @@ -0,0 +1,7 @@ +# WebSphere Application Server Developer Edition Liberty image + +The [Dockerfile](Dockerfile) in this directory is used to build the `websphere-liberty:oidcProvider` image on [Docker Hub](https://registry.hub.docker.com/_/websphere-liberty/). + +# Usage + +TODO diff --git a/ga/24.0.0.7/oidcProvider/server.xml b/ga/24.0.0.7/oidcProvider/server.xml new file mode 100644 index 00000000..5b94ec95 --- /dev/null +++ b/ga/24.0.0.7/oidcProvider/server.xml @@ -0,0 +1,143 @@ + + + + + openidConnectServer-1.0 + ldapRegistry-3.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + regexp:https://${env.OIDCP_INGRESS_HOST_REGEX}:3!d!d!d!d/oidcclient/redirect/rp + https://${env.OIDCP_INGRESS_HOST}/oidcclient/redirect/rp + + + + ${env.OIDCP_CUSTOM_CLIENT_REDIRECT} + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index 94135ced..6bae81e6 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -19,10 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.6 +ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=e2daf941ebdf3908d50bb1288c1574ccfd454796 +ARG LIBERTY_SHA={replace_with_correct_sha} # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -48,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.6 -ARG LIBERTY_BUILD_LABEL=cl240620240603-2001 +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index a4626c8f..a4a0e2dc 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -19,10 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.6 +ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=e2daf941ebdf3908d50bb1288c1574ccfd454796 +ARG LIBERTY_SHA={replace_with_correct_sha} # If there is a local copy of the image use that instead @@ -49,8 +49,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.6 -ARG LIBERTY_BUILD_LABEL=cl240620240603-2001 +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index 1ee8d563..56affdc2 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -19,10 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.6 +ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=e2daf941ebdf3908d50bb1288c1574ccfd454796 +ARG LIBERTY_SHA={replace_with_correct_sha} # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -48,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.6 -ARG LIBERTY_BUILD_LABEL=cl240620240603-2001 +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk21 b/ga/latest/kernel/Dockerfile.ubi.openjdk21 index 9be698aa..15cc0e66 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk21 @@ -19,10 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.6 +ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=e2daf941ebdf3908d50bb1288c1574ccfd454796 +ARG LIBERTY_SHA={replace_with_correct_sha} # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -47,8 +47,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.6 -ARG LIBERTY_BUILD_LABEL=cl240620240603-2001 +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index 8a0d589f..535ea759 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -19,10 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.6 +ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA=e2daf941ebdf3908d50bb1288c1574ccfd454796 +ARG LIBERTY_SHA={replace_with_correct_sha} # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -48,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.6 -ARG LIBERTY_BUILD_LABEL=cl240620240603-2001 +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 index f5ba51a5..a69dcf12 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 @@ -19,9 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.6 -ARG LIBERTY_BUILD_LABEL=cl240620240603-2001 -ARG LIBERTY_SHA=e2daf941ebdf3908d50bb1288c1574ccfd454796 +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_SHA={replace_with_correct_sha} LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 index 593d9fad..5d2bc2e7 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 @@ -19,9 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.6 -ARG LIBERTY_BUILD_LABEL=cl240620240603-2001 -ARG LIBERTY_SHA=e2daf941ebdf3908d50bb1288c1574ccfd454796 +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_SHA={replace_with_correct_sha} LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 index 13c581e2..4a3489af 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 @@ -19,9 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.6 -ARG LIBERTY_BUILD_LABEL=cl240620240603-2001 -ARG LIBERTY_SHA=e2daf941ebdf3908d50bb1288c1574ccfd454796 +ARG LIBERTY_VERSION=24.0.0.7 +ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_SHA={replace_with_correct_sha} LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ From 8291c6a0025bdcef52b590413df27bcc85ce7b19 Mon Sep 17 00:00:00 2001 From: Gkerta Seferi Date: Fri, 5 Jul 2024 15:40:48 +0100 Subject: [PATCH 2/2] Replace placeholder values with actual build label and file checksums --- ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 | 4 ++-- ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 | 4 ++-- ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 | 4 ++-- ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 | 4 ++-- ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 | 4 ++-- ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 | 4 ++-- ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 | 4 ++-- ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 | 4 ++-- ga/latest/kernel/Dockerfile.ubi.ibmjava8 | 4 ++-- ga/latest/kernel/Dockerfile.ubi.openjdk11 | 4 ++-- ga/latest/kernel/Dockerfile.ubi.openjdk17 | 4 ++-- ga/latest/kernel/Dockerfile.ubi.openjdk21 | 4 ++-- ga/latest/kernel/Dockerfile.ubi.openjdk8 | 4 ++-- ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 | 4 ++-- ga/latest/kernel/Dockerfile.ubuntu.openjdk11 | 4 ++-- ga/latest/kernel/Dockerfile.ubuntu.openjdk17 | 4 ++-- 16 files changed, 32 insertions(+), 32 deletions(-) diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 b/ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 index 6bae81e6..1fb691ec 100644 --- a/ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.ibmjava8 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -49,7 +49,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 index a4a0e2dc..da15cda7 100644 --- a/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk11 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead @@ -50,7 +50,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 index 56affdc2..0847b922 100644 --- a/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk17 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -49,7 +49,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 index 15cc0e66..61e7b6eb 100644 --- a/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk21 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -48,7 +48,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 index 535ea759..8c11239e 100644 --- a/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/24.0.0.7/kernel/Dockerfile.ubi.openjdk8 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -49,7 +49,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 index a69dcf12..27552686 100644 --- a/ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.ibmjava8 @@ -20,8 +20,8 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 index 5d2bc2e7..d48bc3fb 100644 --- a/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk11 @@ -20,8 +20,8 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 index 4a3489af..760760a2 100644 --- a/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/24.0.0.7/kernel/Dockerfile.ubuntu.openjdk17 @@ -20,8 +20,8 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index 6bae81e6..1fb691ec 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -49,7 +49,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index a4a0e2dc..da15cda7 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead @@ -50,7 +50,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index 56affdc2..0847b922 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -49,7 +49,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk21 b/ga/latest/kernel/Dockerfile.ubi.openjdk21 index 15cc0e66..61e7b6eb 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk21 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -48,7 +48,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index 535ea759..8c11239e 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -22,7 +22,7 @@ ARG VERBOSE=false ARG LIBERTY_VERSION=24.0.0.7 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -49,7 +49,7 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 index a69dcf12..27552686 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 @@ -20,8 +20,8 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 index 5d2bc2e7..d48bc3fb 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 @@ -20,8 +20,8 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 index 4a3489af..760760a2 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 @@ -20,8 +20,8 @@ ARG VERBOSE=false ARG OPENJ9_SCC=true ARG LIBERTY_VERSION=24.0.0.7 -ARG LIBERTY_BUILD_LABEL={replace_with_gm_driver_label} -ARG LIBERTY_SHA={replace_with_correct_sha} +ARG LIBERTY_BUILD_LABEL=cl240720240701-1102 +ARG LIBERTY_SHA=df7d6b1d0d1e39b867bbb6305da13f9fadd70d8c LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \