From 7003b0dc446692e0321cbe9948cde18b28b18ed0 Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Fri, 15 May 2026 15:49:48 +0200 Subject: [PATCH 01/12] Dockerfile tomcat with jdk17 --- api/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/Dockerfile b/api/Dockerfile index f496afa9..9a8ddb84 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -17,7 +17,7 @@ # change to OFF to disable SSL ARG SSL=true # Tomcat OS base image, feel free to use another (e.g. your hardened one) -ARG BASE_IMAGE=tomcat:9-jdk11-corretto +ARG BASE_IMAGE=tomcat:9-jdk17-corretto # --- Base image part (common for SSL true|false) --- FROM $BASE_IMAGE as base @@ -50,7 +50,7 @@ RUN mkdir -p /opt/certs # just PEMs are supported COPY $LDAP_SSL_CERTS_PATH/*.pem /opt/certs/ -# Java 11 paths used +# Java 11+ paths used RUN for file in `ls /opt/certs/*.pem`; \ do \ echo yes | keytool -import -file $file -alias ldaps$RANDOM -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit; \ From cd6cf325fb17e717702c0245d159fffc62613a86 Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Fri, 15 May 2026 16:46:10 +0200 Subject: [PATCH 02/12] jdk17 build update --- .github/workflows/build.yml | 2 +- .github/workflows/jacoco_check.yml | 2 +- .../co/absa/loginsvc/rest/controller/TokenControllerTest.scala | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index af09a241..fee66d04 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,6 @@ jobs: - name: Setup Scala uses: olafurpg/setup-scala@v10 with: - java-version: "adopt@1.11" + java-version: "adopt@1.17" - name: Build and run tests run: sbt +test +doc diff --git a/.github/workflows/jacoco_check.yml b/.github/workflows/jacoco_check.yml index 4f91ded9..9d9c263a 100644 --- a/.github/workflows/jacoco_check.yml +++ b/.github/workflows/jacoco_check.yml @@ -40,7 +40,7 @@ jobs: - name: Setup Scala uses: olafurpg/setup-scala@v10 with: - java-version: "adopt@1.11" + java-version: "adopt@1.17" - name: Build and run tests run: sbt ++${{matrix.scala}} jacoco - name: Add JaCoCo Report in PR comments diff --git a/api/src/test/scala/za/co/absa/loginsvc/rest/controller/TokenControllerTest.scala b/api/src/test/scala/za/co/absa/loginsvc/rest/controller/TokenControllerTest.scala index 17eb7651..c43ce8ca 100644 --- a/api/src/test/scala/za/co/absa/loginsvc/rest/controller/TokenControllerTest.scala +++ b/api/src/test/scala/za/co/absa/loginsvc/rest/controller/TokenControllerTest.scala @@ -96,7 +96,7 @@ class TokenControllerTest extends AnyFlatSpec ) it should "return tokens generated by mocked JWTService for the authenticated user with group-prefixes (single)(case irrelevant)" in { - // `groups-prefixes` fill change the groups in user object passed to the jwtService.generateAccessToken + // `group-prefixes` fill change the groups in user object passed to the jwtService.generateAccessToken val fakeUserFilteredGroups = fakeUserWithGroups(groups = Seq("first-fake-group")) val fakeUserAuth = fakeUserAuthenticationForUser(fakeUserFilteredGroups) From 7ddcd9bcd68963116f7cb8dee228dc6c21040d06 Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Fri, 15 May 2026 16:48:33 +0200 Subject: [PATCH 03/12] java-version: "amazon-corretto@1.17" --- .github/workflows/build.yml | 2 +- .github/workflows/jacoco_check.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fee66d04..050d8f30 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,6 @@ jobs: - name: Setup Scala uses: olafurpg/setup-scala@v10 with: - java-version: "adopt@1.17" + java-version: "amazon-corretto@1.17" - name: Build and run tests run: sbt +test +doc diff --git a/.github/workflows/jacoco_check.yml b/.github/workflows/jacoco_check.yml index 9d9c263a..a42db42f 100644 --- a/.github/workflows/jacoco_check.yml +++ b/.github/workflows/jacoco_check.yml @@ -40,7 +40,7 @@ jobs: - name: Setup Scala uses: olafurpg/setup-scala@v10 with: - java-version: "adopt@1.17" + java-version: "amazon-corretto@@1.17" - name: Build and run tests run: sbt ++${{matrix.scala}} jacoco - name: Add JaCoCo Report in PR comments From f24521d18bf5e741e93e311acb8f90cc4d5d059f Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Fri, 15 May 2026 16:52:08 +0200 Subject: [PATCH 04/12] java-version: "amazon-corretto@1.17" fix --- .github/workflows/jacoco_check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jacoco_check.yml b/.github/workflows/jacoco_check.yml index a42db42f..2d22ee7e 100644 --- a/.github/workflows/jacoco_check.yml +++ b/.github/workflows/jacoco_check.yml @@ -40,7 +40,7 @@ jobs: - name: Setup Scala uses: olafurpg/setup-scala@v10 with: - java-version: "amazon-corretto@@1.17" + java-version: "amazon-corretto@1.17" - name: Build and run tests run: sbt ++${{matrix.scala}} jacoco - name: Add JaCoCo Report in PR comments From 00040bd506d97b08aebc92b1ee4e45ea0c02a2b5 Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Mon, 18 May 2026 09:13:39 +0200 Subject: [PATCH 05/12] java-version: "openjdk@1.17.0" --- .github/workflows/build.yml | 2 +- .github/workflows/jacoco_check.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 050d8f30..526e8457 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,6 @@ jobs: - name: Setup Scala uses: olafurpg/setup-scala@v10 with: - java-version: "amazon-corretto@1.17" + java-version: "openjdk@1.17" - name: Build and run tests run: sbt +test +doc diff --git a/.github/workflows/jacoco_check.yml b/.github/workflows/jacoco_check.yml index 2d22ee7e..ac699900 100644 --- a/.github/workflows/jacoco_check.yml +++ b/.github/workflows/jacoco_check.yml @@ -40,7 +40,7 @@ jobs: - name: Setup Scala uses: olafurpg/setup-scala@v10 with: - java-version: "amazon-corretto@1.17" + java-version: "openjdk@1.17" - name: Build and run tests run: sbt ++${{matrix.scala}} jacoco - name: Add JaCoCo Report in PR comments From 01432593b3923f728844dfa6dda1fbd5c927114d Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Mon, 18 May 2026 09:31:58 +0200 Subject: [PATCH 06/12] java-version: java 17 binders disabled for tests --- api/src/test/resources/application.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/api/src/test/resources/application.yaml b/api/src/test/resources/application.yaml index f9a6e277..ec3893e9 100644 --- a/api/src/test/resources/application.yaml +++ b/api/src/test/resources/application.yaml @@ -80,5 +80,13 @@ management: health: show-details: "never" + # not needed for tests, causes problems under Java 17 + metrics: + binders: + processor: + enabled: false + system: + enabled: false + info: test: "This is a test value" \ No newline at end of file From 1c689ed22e5c2e2dac62406056fed219bc40ef58 Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Mon, 18 May 2026 09:45:08 +0200 Subject: [PATCH 07/12] Revert "java-version: java 17 binders disabled for tests" This reverts commit 01432593b3923f728844dfa6dda1fbd5c927114d. --- api/src/test/resources/application.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/api/src/test/resources/application.yaml b/api/src/test/resources/application.yaml index ec3893e9..f9a6e277 100644 --- a/api/src/test/resources/application.yaml +++ b/api/src/test/resources/application.yaml @@ -80,13 +80,5 @@ management: health: show-details: "never" - # not needed for tests, causes problems under Java 17 - metrics: - binders: - processor: - enabled: false - system: - enabled: false - info: test: "This is a test value" \ No newline at end of file From c60ca76eb716ee64c1aec99833529d900135ce42 Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Mon, 18 May 2026 09:46:32 +0200 Subject: [PATCH 08/12] java-version: java 17 binders disabled for ActuatorHealthTest --- .../loginsvc/rest/service/actuator/ActuatorHealthTest.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/api/src/test/scala/za/co/absa/loginsvc/rest/service/actuator/ActuatorHealthTest.scala b/api/src/test/scala/za/co/absa/loginsvc/rest/service/actuator/ActuatorHealthTest.scala index fb173668..e558bd14 100644 --- a/api/src/test/scala/za/co/absa/loginsvc/rest/service/actuator/ActuatorHealthTest.scala +++ b/api/src/test/scala/za/co/absa/loginsvc/rest/service/actuator/ActuatorHealthTest.scala @@ -23,7 +23,10 @@ import org.springframework.boot.actuate.health.{HealthEndpoint, Status} import org.springframework.boot.test.context.SpringBootTest import org.springframework.test.context.{TestContextManager, TestPropertySource} -@SpringBootTest +@SpringBootTest(properties = Array( + "management.metrics.binders.processor.enabled=false", + "management.metrics.binders.system.enabled=false" +)) @TestPropertySource(properties = Array("spring.config.location=api/src/test/resources/application.yaml")) class ActuatorHealthTest extends AnyFlatSpec with Matchers with ActuatorTestBase { From 4dba6a3cf4546dd9b9b8e594ce12d7197cb78538 Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Mon, 18 May 2026 10:11:29 +0200 Subject: [PATCH 09/12] java-version: java 17 micrometer disabled --- api/src/test/resources/application.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/src/test/resources/application.yaml b/api/src/test/resources/application.yaml index f9a6e277..826b1e49 100644 --- a/api/src/test/resources/application.yaml +++ b/api/src/test/resources/application.yaml @@ -54,6 +54,10 @@ spring: name: "login-service" jmx: enabled: true + # Spring Boot 2.7 + Java 17 have some compatibility issues around JMX and Micrometer + autoconfigure: + exclude: + - org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfiguration server: port: 9090 From 5d92d18e30e659294d4fafea872645b63afeef6c Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Mon, 18 May 2026 10:11:58 +0200 Subject: [PATCH 10/12] Revert "java-version: java 17 binders disabled for ActuatorHealthTest" This reverts commit c60ca76eb716ee64c1aec99833529d900135ce42. --- .../loginsvc/rest/service/actuator/ActuatorHealthTest.scala | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/api/src/test/scala/za/co/absa/loginsvc/rest/service/actuator/ActuatorHealthTest.scala b/api/src/test/scala/za/co/absa/loginsvc/rest/service/actuator/ActuatorHealthTest.scala index e558bd14..fb173668 100644 --- a/api/src/test/scala/za/co/absa/loginsvc/rest/service/actuator/ActuatorHealthTest.scala +++ b/api/src/test/scala/za/co/absa/loginsvc/rest/service/actuator/ActuatorHealthTest.scala @@ -23,10 +23,7 @@ import org.springframework.boot.actuate.health.{HealthEndpoint, Status} import org.springframework.boot.test.context.SpringBootTest import org.springframework.test.context.{TestContextManager, TestPropertySource} -@SpringBootTest(properties = Array( - "management.metrics.binders.processor.enabled=false", - "management.metrics.binders.system.enabled=false" -)) +@SpringBootTest @TestPropertySource(properties = Array("spring.config.location=api/src/test/resources/application.yaml")) class ActuatorHealthTest extends AnyFlatSpec with Matchers with ActuatorTestBase { From 257af237a47e6337084700c9650a33226defdc55 Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Mon, 18 May 2026 10:24:36 +0200 Subject: [PATCH 11/12] java-version: java 17 metrics disabled for tests. Probably related to bug https://bugs.openjdk.org/browse/JDK-8286212 --- api/src/test/resources/application.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/src/test/resources/application.yaml b/api/src/test/resources/application.yaml index 826b1e49..37507f28 100644 --- a/api/src/test/resources/application.yaml +++ b/api/src/test/resources/application.yaml @@ -57,7 +57,11 @@ spring: # Spring Boot 2.7 + Java 17 have some compatibility issues around JMX and Micrometer autoconfigure: exclude: + - org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration + - org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration - org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfiguration + - org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration + - org.springframework.boot.actuate.autoconfigure.metrics.web.servlet.WebMvcMetricsAutoC server: port: 9090 From a64fb7b0783887494a59cbb005d33b847e68044a Mon Sep 17 00:00:00 2001 From: Daniel Kavan Date: Mon, 18 May 2026 10:25:42 +0200 Subject: [PATCH 12/12] java-version: java 17 metrics disabled for tests. Probably related to bug https://bugs.openjdk.org/browse/JDK-8286212 fix --- api/src/test/resources/application.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/test/resources/application.yaml b/api/src/test/resources/application.yaml index 37507f28..f9d623c0 100644 --- a/api/src/test/resources/application.yaml +++ b/api/src/test/resources/application.yaml @@ -61,7 +61,7 @@ spring: - org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration - org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfiguration - org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration - - org.springframework.boot.actuate.autoconfigure.metrics.web.servlet.WebMvcMetricsAutoC + - org.springframework.boot.actuate.autoconfigure.metrics.web.servlet.WebMvcMetricsAutoConfiguration server: port: 9090