Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/api-ci-using-gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
java-version: 25

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/automation-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
java-version: 25

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
Expand Down
8 changes: 6 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG JAVA_VERSION=21
ARG JAVA_VERSION=25
ARG NODEJS_VERSION=24
ARG ALPINE_VERSION=3.22
ARG ALPINE_VERSION=3.23
ARG ARGON2_VERSION=20190702

FROM node:${NODEJS_VERSION}-alpine${ALPINE_VERSION} AS alpine-nodejs
Expand All @@ -27,6 +27,10 @@
COPY api/token-introspection/build.gradle.kts /project/api/token-introspection/
COPY api/token-revocation/build.gradle.kts /project/api/token-revocation/

COPY automation/api/build.gradle.kts /project/automation/api/
COPY automation/browser/build.gradle.kts /project/automation/browser/
COPY automation/load/build.gradle.kts /project/automation/load/

COPY user-interface/build.gradle.kts /project/user-interface/
COPY user-interface/authentication/build.gradle.kts /project/user-interface/authentication/
COPY user-interface/authentication/package.json /project/user-interface/authentication/
Expand Down Expand Up @@ -83,46 +87,46 @@
FROM server-base AS server-full
COPY --from=code-build /project/distributions/server/ /application
WORKDIR /application
CMD "./bin/server"

Check warning on line 90 in Dockerfile

View workflow job for this annotation

GitHub Actions / build (server-full)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/

## Create Server - Assets
FROM server-base AS server-assets
COPY --from=code-build /project/distributions/assets/ /application
WORKDIR /application
CMD "./bin/assets"

Check warning on line 96 in Dockerfile

View workflow job for this annotation

GitHub Actions / build (server-assets)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/

## Create Server - Authentication
FROM server-base AS server-authentication
COPY --from=code-build /project/distributions/authentication/ /application
WORKDIR /application
CMD "./bin/authentication"

Check warning on line 102 in Dockerfile

View workflow job for this annotation

GitHub Actions / build (server-authentication)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/

## Create Server - Authorisation
FROM server-base AS server-authorisation
COPY --from=code-build /project/distributions/authorisation/ /application
WORKDIR /application
CMD "./bin/authorisation"

Check warning on line 108 in Dockerfile

View workflow job for this annotation

GitHub Actions / build (server-authorisation)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/

## Create Server - Session Info
FROM server-base AS server-session-info
COPY --from=code-build /project/distributions/session-info/ /application
WORKDIR /application
CMD "./bin/session-info"

Check warning on line 114 in Dockerfile

View workflow job for this annotation

GitHub Actions / build (server-session-info)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/

## Create Server - Token
FROM server-base AS server-token
COPY --from=code-build /project/distributions/token/ /application
WORKDIR /application
CMD "./bin/token"

Check warning on line 120 in Dockerfile

View workflow job for this annotation

GitHub Actions / build (server-token)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/

## Create Server - Token Introspection
FROM server-base AS server-token-introspection
COPY --from=code-build /project/distributions/token-introspection/ /application
WORKDIR /application
CMD "./bin/token-introspection"

Check warning on line 126 in Dockerfile

View workflow job for this annotation

GitHub Actions / build (server-token-introspection)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/

## Create Server - Token Revocation
FROM server-base AS server-token-revocation
COPY --from=code-build /project/distributions/token-revocation/ /application
WORKDIR /application
CMD "./bin/token-revocation"

Check warning on line 132 in Dockerfile

View workflow job for this annotation

GitHub Actions / build (server-token-revocation)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ An attempt to create an OAuth 2 service as close and on spec as possible, it att
* provide test consumers that will demonstrate best practice and the various ways to integrate depending on system architecture.

## Requirements
* Java 21
* Java 25
* Node 24

## Using Gradle
Expand All @@ -25,7 +25,7 @@ An attempt to create an OAuth 2 service as close and on spec as possible, it att
```

## Building Docker
Since it's a multistage project we need to run a few commands to build and tag everything.
Since it's a multistage project, we need to run a few commands to build and tag everything.

```bash
# Create all the all endpoints server instance
Expand Down
11 changes: 11 additions & 0 deletions api/common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,17 @@ dependencies {

// Mocking
testImplementation(libs.mockk)
constraints {
api("net.bytebuddy:byte-buddy-agent:1.17.8")
api("net.bytebuddy:byte-buddy:1.17.8") {
because("""
|Mockk depends on 1.5.11, which doesn't support JDK 25
|See https://github.com/mockk/mockk/issues/1434
|But Byte Buddy 1.17.5 brings in JDK 25 support
|https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.17.5""".trimMargin()
)
}
}

// Test data generation
testImplementation(libs.commons.lang3)
Expand Down

This file was deleted.

2 changes: 1 addition & 1 deletion automation/load/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.allopen)
id("io.gatling.gradle") version "3.13.1"
id("io.gatling.gradle") version "3.14.9.5"
}
4 changes: 2 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ allprojects {
mavenLocal()
}
plugins.withId("org.jetbrains.kotlin.jvm") {
// Replacement for kotlin { jvmToolchain(21) } in each project
// Replacement for kotlin { jvmToolchain(25) } in each project
extensions.configure<KotlinJvmProjectExtension> {
jvmToolchain(21)
jvmToolchain(25)
}
}
tasks.withType<Test>().configureEach {
Expand Down
6 changes: 3 additions & 3 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# Common Versions
##
node = "24.12.0"
ktor = "3.3.3"
kotlin = "2.2.21"
ktor = "3.4.0"
kotlin = "2.3.0"

##
# JVM Versions
Expand All @@ -19,7 +19,7 @@ slf4j = "2.0.17"
##
# Common Test Versions
##
kotest = "6.0.7"
kotest = "6.1.1"
mockk = "1.14.7"

##
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
Loading