diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c2e1e5ef..bd6a44c9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,11 +46,11 @@ jobs: working-directory: finish steps: - uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK 25 uses: actions/setup-java@v4 with: distribution: 'semeru' - java-version: 11 + java-version: 25 - run: unset _JAVA_OPTIONS - name: Run tests run: | diff --git a/README.adoc b/README.adoc index b3e4529c..cf71eebd 100644 --- a/README.adoc +++ b/README.adoc @@ -1,4 +1,4 @@ -// Copyright (c) 2019, 2025 IBM Corporation and others. +// Copyright (c) 2019, 2026 IBM Corporation and others. // Licensed under Creative Commons Attribution-NoDerivatives // 4.0 International (CC BY-ND 4.0) // https://creativecommons.org/licenses/by-nd/4.0/ @@ -256,9 +256,9 @@ Learn more about Docker on the https://www.docker.com/what-docker[official Docke === Creating your Dockerfiles You will be creating two Docker images to run the `inventory` service and `system` service. The first step is to create Dockerfiles for both services. -In this guide, you're using an official image from the IBM Container Registry (ICR), `icr.io/appcafe/open-liberty:full-java11-openj9-ubi`, as your parent image. This image is tagged with the word `full`, meaning it includes all Liberty features. `full` images are recommended for development only because they significantly expand the image size with features that are not required by the application. +In this guide, you're using an official image from the IBM Container Registry (ICR), `icr.io/appcafe/open-liberty:full-java25-openj9-ubi-minimal`, as your parent image. This image is tagged with the word `full`, meaning it includes all Liberty features. `full` images are recommended for development only because they significantly expand the image size with features that are not required by the application. -To minimize your image footprint in production, you can use one of the `kernel-slim` images, such as `icr.io/appcafe/open-liberty:kernel-slim-java11-openj9-ubi`. This image installs the basic Liberty runtime. You can then add all the necessary features for your application with the usage pattern that is detailed in the Open Liberty https://openliberty.io/docs/latest/container-images.html#build[container image documentation^]. To use the default image that comes with the Open Liberty runtime, define the `FROM` instruction as `FROM icr.io/appcafe/open-liberty`. You can find all official images on the Open Liberty https://openliberty.io/docs/latest/container-images.html[container image repository^]. +To minimize your image footprint in production, you can use one of the `kernel-slim` images, such as `icr.io/appcafe/open-liberty:kernel-slim-java25-openj9-ubi-minimal`. This image installs the basic Liberty runtime. You can then add all the necessary features for your application with the usage pattern that is detailed in the Open Liberty https://openliberty.io/docs/latest/container-images.html#build[container image documentation^]. To use the default image that comes with the Open Liberty runtime, define the `FROM` instruction as `FROM icr.io/appcafe/open-liberty`. You can find all official images on the Open Liberty https://openliberty.io/docs/latest/container-images.html[container image repository^]. [role="code_command hotspot file=0", subs="quotes"] ---- @@ -278,7 +278,7 @@ It is also recommended to label your Docker images with the [hotspot=label file= The [hotspot=copy-config hotspot=copy-war file=0]`COPY` instructions are structured as `COPY` [hotspot=config-userID hotspot=war-userID file=0]`[--chown=:]` [hotspot=inventory-config hotspot=inventory-war file=0]`` [hotspot=config hotspot=config-apps file=0]``. They copy local files into the specified destination within your Docker image. In this case, the `inventory` Liberty configuration files that are located at `src/main/liberty/config` are copied to the [hotspot=config file=0]`/config/` destination directory. The `inventory` application WAR file [hotspot=inventory-war file=0]`inventory.war`, which was created from running Maven `package` goal, is copied to the [hotspot=config-apps file=0]`/config/apps` destination directory. -The [hotspot=copy-config hotspot=copy-war file=0]`COPY` instructions use the [hotspot=config-userID hotspot=war-userID file=0]`1001` user ID and [hotspot=config-userID hotspot=war-userID file=0]`0` group because the `icr.io/appcafe/open-liberty:full-java11-openj9-ubi` image runs by default with the `USER 1001` (non-root) user for security purposes. Otherwise, the files and directories that are copied over are owned by the root user. +The [hotspot=copy-config hotspot=copy-war file=0]`COPY` instructions use the [hotspot=config-userID hotspot=war-userID file=0]`1001` user ID and [hotspot=config-userID hotspot=war-userID file=0]`0` group because the `icr.io/appcafe/open-liberty:full-java25-openj9-ubi-minimal` image runs by default with the `USER 1001` (non-root) user for security purposes. Otherwise, the files and directories that are copied over are owned by the root user. Place the [hotspot=configure-sh file=0]`RUN configure.sh` command at the end to get a pre-warmed Docker image. It improves the startup time of running your Docker container. @@ -494,7 +494,7 @@ inventory/Dockerfile include::finish/inventory/Dockerfile[] ---- -Replace the parent image with [hotspot=kernel-slim file=0]`icr.io/appcafe/open-liberty:kernel-slim-java11-openj9-ubi` at the top of your `Dockerfile`. This image contains the `kernel-slim` tag that is recommended when deploying to production. +Replace the parent image with [hotspot=kernel-slim file=0]`icr.io/appcafe/open-liberty:kernel-slim-java25-openj9-ubi-minimal` at the top of your `Dockerfile`. This image contains the `kernel-slim` tag that is recommended when deploying to production. Place [hotspot=features file=0]`RUN features.sh` command after the `COPY` command that copies the local `/config/` directory into the `Docker` image. The `features.sh` script adds the Liberty features that your application is required to operate. @@ -560,12 +560,12 @@ docker exec -it inventory /opt/ol/wlp/bin/productInfo featureInfo Your list of Liberty features should be similar to the following: ---- jndi-1.0 -cdi-4.0 +cdi-4.1 jsonb-3.0 jsonp-2.1 mpConfig-3.1 -restfulWS-3.1 -restfulWSClient-3.1 +restfulWS-4.0 +restfulWSClient-4.0 ---- // static guide instructions: diff --git a/finish/inventory/Dockerfile b/finish/inventory/Dockerfile index 8e4fa550..cd6f6e6f 100644 --- a/finish/inventory/Dockerfile +++ b/finish/inventory/Dockerfile @@ -1,5 +1,5 @@ # tag::kernel-slim[] -FROM icr.io/appcafe/open-liberty:kernel-slim-java11-openj9-ubi +FROM icr.io/appcafe/open-liberty:kernel-slim-java25-openj9-ubi-minimal # end::kernel-slim[] ARG VERSION=1.0 diff --git a/finish/inventory/Dockerfile-full b/finish/inventory/Dockerfile-full index d0d3cb45..d59f42e6 100644 --- a/finish/inventory/Dockerfile-full +++ b/finish/inventory/Dockerfile-full @@ -1,5 +1,5 @@ # tag::from[] -FROM icr.io/appcafe/open-liberty:full-java11-openj9-ubi +FROM icr.io/appcafe/open-liberty:full-java25-openj9-ubi-minimal # end::from[] ARG VERSION=1.0 diff --git a/finish/inventory/pom.xml b/finish/inventory/pom.xml index 1388bb50..1a6998be 100644 --- a/finish/inventory/pom.xml +++ b/finish/inventory/pom.xml @@ -14,8 +14,8 @@ UTF-8 UTF-8 - 11 - 11 + 25 + 25 localhost 9080 @@ -29,7 +29,7 @@ jakarta.platform jakarta.jakartaee-api - 10.0.0 + 11.0.0 provided @@ -78,24 +78,24 @@ org.apache.maven.plugins maven-war-plugin - 3.5.0 + 3.5.1 io.openliberty.tools liberty-maven-plugin - 3.11.5 + 3.12.5 org.apache.maven.plugins maven-surefire-plugin - 3.5.4 + 3.5.6 org.apache.maven.plugins maven-failsafe-plugin - 3.5.4 + 3.5.6 ${system.ip} diff --git a/finish/inventory/src/main/liberty/config/server.xml b/finish/inventory/src/main/liberty/config/server.xml index e2f1fd6c..b59baa58 100755 --- a/finish/inventory/src/main/liberty/config/server.xml +++ b/finish/inventory/src/main/liberty/config/server.xml @@ -1,7 +1,7 @@ - jakartaee-10.0 + jakartaee-11.0 microprofile-7.1 restfulWS jsonb diff --git a/finish/inventory/src/main/webapp/WEB-INF/web.xml b/finish/inventory/src/main/webapp/WEB-INF/web.xml index a3823f10..30eb38da 100755 --- a/finish/inventory/src/main/webapp/WEB-INF/web.xml +++ b/finish/inventory/src/main/webapp/WEB-INF/web.xml @@ -1,7 +1,7 @@ - + Liberty Project diff --git a/finish/pom.xml b/finish/pom.xml index 040c0f60..9d6ce661 100644 --- a/finish/pom.xml +++ b/finish/pom.xml @@ -14,5 +14,8 @@ system inventory + + 25 + \ No newline at end of file diff --git a/finish/system/Dockerfile b/finish/system/Dockerfile index 9c3d1008..b92b28d6 100644 --- a/finish/system/Dockerfile +++ b/finish/system/Dockerfile @@ -1,5 +1,5 @@ # tag::kernel-slim[] -FROM icr.io/appcafe/open-liberty:kernel-slim-java11-openj9-ubi +FROM icr.io/appcafe/open-liberty:kernel-slim-java25-openj9-ubi-minimal # end::kernel-slim[] ARG VERSION=1.0 diff --git a/finish/system/Dockerfile-full b/finish/system/Dockerfile-full index 4a30d127..e5c97565 100644 --- a/finish/system/Dockerfile-full +++ b/finish/system/Dockerfile-full @@ -1,4 +1,4 @@ -FROM icr.io/appcafe/open-liberty:full-java11-openj9-ubi +FROM icr.io/appcafe/open-liberty:full-java25-openj9-ubi-minimal ARG VERSION=1.0 ARG REVISION=SNAPSHOT diff --git a/finish/system/pom.xml b/finish/system/pom.xml index dc1127c1..766b1049 100644 --- a/finish/system/pom.xml +++ b/finish/system/pom.xml @@ -14,8 +14,8 @@ UTF-8 UTF-8 - 11 - 11 + 25 + 25 9080 9443 @@ -26,7 +26,7 @@ jakarta.platform jakarta.jakartaee-api - 10.0.0 + 11.0.0 provided @@ -63,25 +63,25 @@ org.apache.maven.plugins maven-war-plugin - 3.5.0 + 3.5.1 io.openliberty.tools liberty-maven-plugin - 3.11.5 + 3.12.5 org.apache.maven.plugins maven-surefire-plugin - 3.5.4 + 3.5.6 org.apache.maven.plugins maven-failsafe-plugin - 3.5.4 + 3.5.6 ${liberty.var.http.port} diff --git a/finish/system/src/main/liberty/config/server.xml b/finish/system/src/main/liberty/config/server.xml index 612ab866..4263e6b5 100644 --- a/finish/system/src/main/liberty/config/server.xml +++ b/finish/system/src/main/liberty/config/server.xml @@ -1,7 +1,7 @@ - jakartaee-10.0 + jakartaee-11.0 restfulWS jsonb jsonp diff --git a/finish/system/src/main/webapp/WEB-INF/web.xml b/finish/system/src/main/webapp/WEB-INF/web.xml index a3823f10..30eb38da 100644 --- a/finish/system/src/main/webapp/WEB-INF/web.xml +++ b/finish/system/src/main/webapp/WEB-INF/web.xml @@ -1,7 +1,7 @@ - + Liberty Project diff --git a/scripts/dailyBuild.sh b/scripts/dailyBuild.sh index d69e5ee1..2a719635 100644 --- a/scripts/dailyBuild.sh +++ b/scripts/dailyBuild.sh @@ -14,7 +14,7 @@ sed -i "\#liberty-maven-plugin#aliberty-maven-plugin#a UTF-8 UTF-8 - 11 - 11 + 25 + 25 localhost 9080 @@ -29,7 +29,7 @@ jakarta.platform jakarta.jakartaee-api - 10.0.0 + 11.0.0 provided @@ -78,24 +78,24 @@ org.apache.maven.plugins maven-war-plugin - 3.5.0 + 3.5.1 io.openliberty.tools liberty-maven-plugin - 3.11.5 + 3.12.5 org.apache.maven.plugins maven-surefire-plugin - 3.5.4 + 3.5.6 org.apache.maven.plugins maven-failsafe-plugin - 3.5.4 + 3.5.6 ${system.ip} @@ -106,4 +106,4 @@ - \ No newline at end of file + diff --git a/start/inventory/src/main/liberty/config/server.xml b/start/inventory/src/main/liberty/config/server.xml index 38ba9b78..2bcae5cf 100755 --- a/start/inventory/src/main/liberty/config/server.xml +++ b/start/inventory/src/main/liberty/config/server.xml @@ -1,7 +1,7 @@ - jakartaee-10.0 + jakartaee-11.0 microprofile-7.1 restfulWS jsonb diff --git a/start/inventory/src/main/webapp/WEB-INF/web.xml b/start/inventory/src/main/webapp/WEB-INF/web.xml index a3823f10..30eb38da 100755 --- a/start/inventory/src/main/webapp/WEB-INF/web.xml +++ b/start/inventory/src/main/webapp/WEB-INF/web.xml @@ -1,7 +1,7 @@ - + Liberty Project diff --git a/start/pom.xml b/start/pom.xml index 040c0f60..9d6ce661 100644 --- a/start/pom.xml +++ b/start/pom.xml @@ -14,5 +14,8 @@ system inventory + + 25 + \ No newline at end of file diff --git a/start/system/pom.xml b/start/system/pom.xml index dc1127c1..766b1049 100644 --- a/start/system/pom.xml +++ b/start/system/pom.xml @@ -14,8 +14,8 @@ UTF-8 UTF-8 - 11 - 11 + 25 + 25 9080 9443 @@ -26,7 +26,7 @@ jakarta.platform jakarta.jakartaee-api - 10.0.0 + 11.0.0 provided @@ -63,25 +63,25 @@ org.apache.maven.plugins maven-war-plugin - 3.5.0 + 3.5.1 io.openliberty.tools liberty-maven-plugin - 3.11.5 + 3.12.5 org.apache.maven.plugins maven-surefire-plugin - 3.5.4 + 3.5.6 org.apache.maven.plugins maven-failsafe-plugin - 3.5.4 + 3.5.6 ${liberty.var.http.port} diff --git a/start/system/src/main/liberty/config/server.xml b/start/system/src/main/liberty/config/server.xml index 612ab866..4263e6b5 100644 --- a/start/system/src/main/liberty/config/server.xml +++ b/start/system/src/main/liberty/config/server.xml @@ -1,7 +1,7 @@ - jakartaee-10.0 + jakartaee-11.0 restfulWS jsonb jsonp diff --git a/start/system/src/main/webapp/WEB-INF/web.xml b/start/system/src/main/webapp/WEB-INF/web.xml index a3823f10..30eb38da 100644 --- a/start/system/src/main/webapp/WEB-INF/web.xml +++ b/start/system/src/main/webapp/WEB-INF/web.xml @@ -1,7 +1,7 @@ - + Liberty Project