diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
deleted file mode 100644
index 3f0ccf3..0000000
--- a/.github/CODEOWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
-* @sschnabe @rpahli @fabian-schlegel @jschwarze @wistefan @monotek
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 415bfca..0000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: maven
- directory: /
- schedule:
- interval: daily
- allow:
- - dependency-name: io.kokuwa.maven:maven-parent
- - dependency-name: org.keycloak:keycloak-quarkus-server
- - package-ecosystem: github-actions
- directory: /
- schedule:
- interval: monthly
- day: monday
diff --git a/.github/settings.xml b/.github/settings.xml
deleted file mode 100644
index 44fd9ea..0000000
--- a/.github/settings.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- sonatype-nexus
- ${env.SERVER_USERNAME}
- ${env.SERVER_PASSWORD}
-
-
- github.com
- nope
- ${env.GIT_ACTION_TOKEN}
-
-
-
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 4da10a5..5d30921 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -1,50 +1,42 @@
-name: Build
+name: Verify
on:
- push:
- branches: [main]
+ - pull_request
+ - push:
+ branches: [main]
+
+env:
+ MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress
jobs:
build:
runs-on: ubuntu-latest
- env:
- MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress --settings=.github/settings.xml
steps:
- - name: docker/login-action docker.io
- uses: docker/login-action@v3.4.0
- with:
- registry: docker.io
- username: ${{ secrets.DOCKERIO_USERNAME }}
- password: ${{ secrets.DOCKERIO_TOKEN }}
- - name: docker/login-action ghcr.io
- uses: docker/login-action@v3.4.0
- with:
- registry: ghcr.io
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_ACTION_TOKEN }}
- - run: git config --global user.name "${{ vars.KOKUWA_IO_BOT_NAME }}"
- - run: git config --global user.email "${{ vars.KOKUWA_IO_BOT_EMAIL }}"
- - uses: actions/checkout@v4
- with:
- token: ${{ secrets.GIT_ACTION_TOKEN }}
- - uses: crazy-max/ghaction-import-gpg@v6
- with:
- gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
- passphrase: ${{ secrets.GPG_PASSPHRASE }}
- git_user_signingkey: true
- git_commit_gpgsign: true
- - uses: actions/setup-java@v4
+ - uses: actions/checkout@main
+ - uses: actions/setup-java@main
with:
distribution: temurin
java-version: 17
cache: maven
- server-id: sonatype-nexus
- server-username: SERVER_USERNAME
- server-password: SERVER_PASSWORD
- gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
- gpg-passphrase: GPG_PASSPHRASE
- - run: mvn $MAVEN_ARGS deploy
- env:
- SERVER_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
- SERVER_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
+ - run: mvn verify
+
+ versions:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ version:
+ - 22.0.5
+ - 23.0.7
+ - 24.0.5
+ - 25.0.6
+ - 26.2.5
+ steps:
+ - uses: actions/checkout@main
+ - uses: actions/setup-java@main
+ with:
+ distribution: temurin
+ java-version: 17
+ cache: maven
+ - run: mvn verify -Dversion.org.keycloak.test=${{ matrix.version }}
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
new file mode 100644
index 0000000..af980fa
--- /dev/null
+++ b/.github/workflows/lint.yaml
@@ -0,0 +1,23 @@
+name: Lint
+
+on: push
+
+jobs:
+
+ renovate:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@main
+ - uses: docker://kokuwaio/renovate-config-validator
+
+ markdownlint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@main
+ - uses: docker://kokuwaio/markdownlint
+
+ yamllint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@main
+ - uses: docker://kokuwaio/yamllint
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
deleted file mode 100644
index 3548e88..0000000
--- a/.github/workflows/pr.yaml
+++ /dev/null
@@ -1,58 +0,0 @@
-name: PullRequest
-
-on: pull_request
-
-env:
- MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress
-
-jobs:
-
- yaml:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: ibiqlik/action-yamllint@v3
- with:
- format: colored
- strict: true
-
- markdown:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: avto-dev/markdown-lint@v1
- with:
- args: /github/workspace
-
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: temurin
- java-version: 17
- cache: maven
- - run: mvn $MAVEN_ARGS verify
-
- versions:
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- version:
- - 22.0.5
- - 23.0.7
- - 24.0.5
- - 25.0.6
- - 26.0.8
- - 26.1.5
- - 26.2.5
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: temurin
- java-version: 17
- cache: maven
- - run: mvn $MAVEN_ARGS verify -Dcheck.skip -Dversion.org.keycloak.test=${{ matrix.version }}
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
deleted file mode 100644
index e3240ed..0000000
--- a/.github/workflows/release.yaml
+++ /dev/null
@@ -1,50 +0,0 @@
-name: Release
-
-on: workflow_dispatch
-
-jobs:
- build:
- runs-on: ubuntu-latest
- env:
- MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress --settings=.github/settings.xml
- steps:
- - name: docker/login-action docker.io
- uses: docker/login-action@v3.4.0
- with:
- registry: docker.io
- username: ${{ secrets.DOCKERIO_USERNAME }}
- password: ${{ secrets.DOCKERIO_TOKEN }}
- - name: docker/login-action ghcr.io
- uses: docker/login-action@v3.4.0
- with:
- registry: ghcr.io
- username: ${{ github.actor }}
- password: ${{ secrets.GIT_ACTION_TOKEN }}
- - run: git config --global user.name "${{ vars.KOKUWA_IO_BOT_NAME }}"
- - run: git config --global user.email "${{ vars.KOKUWA_IO_BOT_EMAIL }}"
- - uses: actions/checkout@v4
- with:
- token: ${{ secrets.GIT_ACTION_TOKEN }}
- - uses: crazy-max/ghaction-import-gpg@v6
- with:
- gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
- passphrase: ${{ secrets.GPG_PASSPHRASE }}
- git_user_signingkey: true
- git_commit_gpgsign: true
- - uses: actions/setup-java@v4
- with:
- distribution: temurin
- java-version: 17
- cache: maven
- server-id: sonatype-nexus
- server-username: SERVER_USERNAME
- server-password: SERVER_PASSWORD
- gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
- gpg-passphrase: GPG_PASSPHRASE
- - run: mvn $MAVEN_ARGS release:prepare -Darguments="$MAVEN_ARGS"
- - run: mvn $MAVEN_ARGS release:perform -Darguments="$MAVEN_ARGS"
- env:
- SERVER_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
- SERVER_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
- GIT_ACTION_TOKEN: ${{ secrets.GIT_ACTION_TOKEN }}
- GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml
new file mode 100644
index 0000000..82dfd40
--- /dev/null
+++ b/.woodpecker/build.yaml
@@ -0,0 +1,39 @@
+when:
+ instance: ci.kokuwa.io
+ repo: keycloak/keycloak-event-metrics
+ event: [manual, push]
+ branch: main
+ path: [.woodpecker/build.yaml, pom.xml, src/main/**]
+
+services:
+ - name: dockerd
+ image: kokuwaio/dockerd
+ privileged: true
+ ports: [2375, 8080]
+
+steps:
+
+ deploy:
+ image: maven:3.9.9-eclipse-temurin-17
+ commands: mvn deploy
+ environment:
+ MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress --settings=.woodpecker/maven/settings.xml
+ MAVEN_GPG_KEY: {from_secret: woodpecker_gpg_key}
+ SONATYPE_ORG_USERNAME: {from_secret: sonatype_org_username}
+ SONATYPE_ORG_PASSWORD: {from_secret: sonatype_org_password}
+
+ release:
+ image: maven:3.9.9-eclipse-temurin-17
+ commands:
+ - git config user.email "$GIT_USER_EMAIL"
+ - git config user.name "$GIT_USER_NAME"
+ - mvn release:prepare release:perform --settings=.woodpecker/maven/settings.xml
+ environment:
+ MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress -DskipTests -DautoPublish=false
+ MAVEN_GPG_KEY: {from_secret: woodpecker_gpg_key}
+ SONATYPE_ORG_USERNAME: {from_secret: sonatype_org_username}
+ SONATYPE_ORG_PASSWORD: {from_secret: sonatype_org_password}
+ DOCKER_IO_USERNAME: {from_secret: docker_io_username}
+ DOCKER_IO_PASSWORD: {from_secret: docker_io_password}
+ GHCR_IO_USERNAME: {from_secret: ghcr_io_username}
+ GHCR_IO_PASSWORD: {from_secret: ghcr_io_password}
diff --git a/.woodpecker/lint.yaml b/.woodpecker/lint.yaml
new file mode 100644
index 0000000..74bb114
--- /dev/null
+++ b/.woodpecker/lint.yaml
@@ -0,0 +1,21 @@
+when:
+ event: [manual, pull_request, push]
+ branch: main
+ path: [.woodpecker/lint.yaml, renovate.json, "**/*.y*ml", "**/*.md"]
+
+steps:
+
+ renovate:
+ image: kokuwaio/renovate-config-validator
+ depends_on: []
+ when: [path: [.woodpecker/lint.yaml, renovate.json]]
+
+ yaml:
+ image: kokuwaio/yamllint
+ depends_on: []
+ when: [path: [.woodpecker/lint.yaml, .yamllint.yaml, "**/*.y*ml"]]
+
+ markdown:
+ image: kokuwaio/markdownlint
+ depends_on: []
+ when: [path: [.woodpecker/lint.yaml, .markdownlint.yaml, "**/*.md"]]
diff --git a/.woodpecker/maven/settings.xml b/.woodpecker/maven/settings.xml
new file mode 100644
index 0000000..71b1f7a
--- /dev/null
+++ b/.woodpecker/maven/settings.xml
@@ -0,0 +1,28 @@
+
+
+ false
+ /woodpecker/.m2
+
+
+ sonatype.org
+ ${env.SONATYPE_ORG_USERNAME}
+ ${env.SONATYPE_ORG_PASSWORD}
+
+
+ docker.io
+ ${env.DOCKER_IO_USERNAME}
+ ${env.DOCKER_IO_PASSWORD}
+
+
+ ghcr.io
+ ${env.GHCR_IO_USERNAME}
+ ${env.GHCR_IO_PASSWORD}
+
+
+
+
+ http://mirror.woodpecker.svc.cluster.local/maven2
+ central
+
+
+
diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml
new file mode 100644
index 0000000..72bcf74
--- /dev/null
+++ b/.woodpecker/release.yaml
@@ -0,0 +1,25 @@
+when:
+ instance: ci.kokuwa.io
+ repo: keycloak/keycloak-event-metrics
+ event: deployment
+ branch: main
+
+services:
+ - name: dockerd
+ image: kokuwaio/dockerd
+ ports: [2375, 8080]
+
+steps:
+
+ deploy:
+ image: maven:3.9.9-eclipse-temurin-17
+ commands: mvn release:prepare release:perform --settings=.woodpecker/maven/settings.xml
+ environment:
+ MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress -DskipTests -DautoPublish=false
+ MAVEN_GPG_KEY: {from_secret: woodpecker_gpg_key}
+ SONATYPE_ORG_USERNAME: {from_secret: sonatype_org_username}
+ SONATYPE_ORG_PASSWORD: {from_secret: sonatype_org_password}
+ DOCKER_IO_USERNAME: {from_secret: docker_io_username}
+ DOCKER_IO_PASSWORD: {from_secret: docker_io_password}
+ GHCR_IO_USERNAME: {from_secret: ghcr_io_username}
+ GHCR_IO_PASSWORD: {from_secret: ghcr_io_password}
diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml
new file mode 100644
index 0000000..6105f71
--- /dev/null
+++ b/.woodpecker/test.yaml
@@ -0,0 +1,29 @@
+when:
+ event: [manual, pull_request]
+ path: [.woodpecker/verify.yaml, pom.xml, src/main/**]
+
+matrix:
+ KEYCLOAK_VERSION:
+# - 22.0.5
+# - 23.0.7
+# - 24.0.5
+# - 25.0.6
+# - 26.2.5
+ - $version.org.keycloak
+ - $$version.org.keycloak
+ - \$version.org.keycloak
+ - \$$version.org.keycloak
+
+services:
+ - name: dockerd
+ image: kokuwaio/dockerd
+ privileged: true
+ ports: [2375, 8080]
+
+steps:
+ veraify:
+ image: maven:3.9.9-eclipse-temurin-17
+ commands: echo $KEYCLOAK_VERSION
+ test:
+ image: maven:3.9.9-eclipse-temurin-17
+ commands: mvn test -Dversion.org.keycloak.test="$KEYCLOAK_VERSION" --batch-mode --color=always --no-transfer-progress --settings=.woodpecker/maven/settings.xml
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..2a6207f
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,31 @@
+FROM docker.io/library/maven:3.9.9-eclipse-temurin-17 AS mvn
+WORKDIR /app
+ARG MAVEN_ARGS="--batch-mode --color=always --no-transfer-progress -DskipTests -P=-dev"
+ARG MAVEN_MIRROR_CENTRAL=https://mirror.grayc.io/maven2
+RUN mkdir "$HOME/.m2" && printf "\n\
+\n\
+ /tmp/mvn-repo\n\
+ \n\
+ \n\
+ %s\n\
+ central\n\
+ \n\
+ \n\
+" "$MAVEN_MIRROR_CENTRAL" > "$HOME/.m2/settings.xml" && cat "$HOME/.m2/settings.xml"
+COPY pom.xml lombok.config ./
+COPY api/pom.xml api/pom.xml
+COPY service/pom.xml service/pom.xml
+RUN mvn install -N
+COPY .git /
+COPY api/ api/
+RUN mvn install -pl api
+COPY service/ service/
+RUN mvn install -pl service
+
+FROM docker.io/library/eclipse-temurin:21.0.7_6-jre@sha256:031eb6ccad828004407c0a41f6a4009a08289961d55e9119287c28756522a945
+COPY service/target/libs /app/libs
+COPY service/target/minoa-service-*.jar /app/minoa.jar
+COPY api/openapi.yaml /static/openapi.yaml
+COPY --from=app /app/dist /static
+COPY --from=mkdocs-user-manual /mkdocs/site /static/docs
+ENTRYPOINT ["java", "-XX:+ExitOnOutOfMemoryError", "-jar", "/app/minoa.jar"]
diff --git a/README.md b/README.md
index d57d9b6..970827b 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,15 @@
-# Keycloak Metrics
+# Keycloak Event Metrics
-Provides metrics for Keycloak user/admin events and user/client/session count. Tested on Keycloak [22-26](.github/workflows/pr.yaml#L48-L53).
+Provides metrics for Keycloak user/admin events and user/client/session count. Tested on Keycloak [22-26](.woodpecker/verify.yaml#L7-L11).
-[](http://www.apache.org/licenses/)
-[](https://central.sonatype.com/search?namespace=io.kokuwa.keycloak&q=keycloak-event-metrics)
-[](https://github.com/kokuwaio/keycloak-event-metrics/actions/workflows/build.yaml)
+[](https://central.sonatype.com/search?namespace=io.kokuwa.keycloak&q=keycloak-event-metrics)
+[](https://hub.docker.com/r/kokuwaio/keycloak-event-metrics)
+[](https://hub.docker.com/r/kokuwaio/keycloak-event-metrics)
+[](https://git.kokuwa.io/keycloak/keycloak-event-metrics/src/branch/main/Dockerfile)
+[](https://git.kokuwa.io/keycloak/keycloak-event-metrics/src/branch/main/LICENSE)
+[](https://git.kokuwa.io/keycloak/keycloak-event-metrics/pulls)
+[](https://git.kokuwa.io/keycloak/keycloak-event-metrics/issues)
+[](https://ci.kokuwa.io/api/badges/keycloak/keycloak-event-metrics/)
## Why?
@@ -114,7 +119,7 @@ If scrapping takes less than `KC_METRICS_STATS_INFO_THRESHOLD` duration will be
### Grafana Dashboard
-Can be found here: [kokuwaio/keycloak keycloak-metrics.json](https://github.com/kokuwaio/keycloak/blob/main/src/test/k3s/dev/grafana/files/dashboards/keycloak-metrics.json)
+Can be found here: [keycloak-metrics.json](https://git.kokuwa.io/keycloak/keycloak/blob/main/src/test/k3s/dev/grafana/files/dashboards/keycloak-metrics.json)
### Testcontainers
@@ -131,7 +136,7 @@ This images are based on busybox, so you can use cp to copy the jar into your ke
### Docker
-Check: [kokuwaio/keycloak](https://github.com/kokuwaio/keycloak)
+Check: [kowaio/keycloak](https://git.kokuwa.io/keycloak/keycloak)
Dockerfile:
@@ -145,7 +150,7 @@ FROM debian:stable-slim AS metrics
RUN apt-get -qq update
RUN apt-get -qq install --yes --no-install-recommends ca-certificates wget
-ARG METRICS_VERSION=1.0.0
+ARG METRICS_VERSION=2.0.0
ARG METRICS_FILE=keycloak-event-metrics-${METRICS_VERSION}.jar
ARG METRICS_URL=https://repo1.maven.org/maven2/io/kokuwa/keycloak/keycloak-event-metrics/${METRICS_VERSION}
@@ -159,7 +164,7 @@ RUN mv ${METRICS_FILE} /opt/keycloak/providers
### build keycloak with metrics
###
-FROM quay.io/keycloak/keycloak:25.0.1
+FROM quay.io/keycloak/keycloak:25.2.5
ENV KEYCLOAK_ADMIN=admin
ENV KEYCLOAK_ADMIN_PASSWORD=password
diff --git a/pom.xml b/pom.xml
index 6d2dc99..e117705 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,11 +4,11 @@
io.kokuwa.keycloak
keycloak-event-metrics
- 1.1.2-SNAPSHOT
+ 2.0.0-SNAPSHOT
Keycloak Metrics
Provides metrics for Keycloak user/admin events
- https://github.com/kokuwaio/keycloak-event-metrics
+ https://git.kokuwa.io/keycloak/keycloak-event-metrics
2023
Kokuwa.io
@@ -33,27 +33,23 @@
- https://github.com/kokuwaio/keycloak-event-metrics
- scm:git:https://github.com/kokuwaio/keycloak-event-metrics.git
- scm:git:https://github.com/kokuwaio/keycloak-event-metrics.git
+ https://git.kokuwa.io/keycloak/keycloak-event-metrics
+ scm:git:https://git.kokuwa.io/keycloak/keycloak-event-metrics.git
+ scm:git:https://git.kokuwa.io/keycloak/keycloak-event-metrics.git
HEAD
- github
- https://github.com/kokuwaio/keycloak-event-metrics/issues
+ forgejo
+ https://git.kokuwa.io/keycloak/keycloak-event-metrics/issues
- github
- https://github.com/kokuwaio/keycloak-event-metrics/actions
+ woodpecker
+ https://ci.kokuwa.io/repos/keycloak/keycloak-event-metrics
-
- sonatype-nexus
- https://oss.sonatype.org/service/local/staging/deploy/maven2/
-
- sonatype-nexus
- https://oss.sonatype.org/content/repositories/snapshots/
+ sonatype.org
+ https://central.sonatype.com/repository/maven-snapshots/
@@ -83,28 +79,8 @@
- 3.4.1
- 3.14.0
- 3.1.4
- 3.2.7
- 3.1.4
- 3.4.2
- 3.11.2
- 3.1.1
- 3.3.1
- 3.21.0
- 3.3.1
- 3.5.3
- 1.4.0
- 2.18.0
- 1.7.0
- 2.26.0
- 1.12.0
- 0.46.0
-
26.2.5
${version.org.keycloak}
- 1.18.3
@@ -236,15 +212,10 @@
-
- org.apache.maven.plugins
- maven-clean-plugin
- ${version.org.apache.maven.plugins.clean}
-
org.apache.maven.plugins
maven-compiler-plugin
- ${version.org.apache.maven.plugins.compiler}
+ 3.14.0
${maven.compiler.compilerArgument}
@@ -252,37 +223,37 @@
org.apache.maven.plugins
maven-deploy-plugin
- ${version.org.apache.maven.plugins.deploy}
+ 3.1.4
org.apache.maven.plugins
maven-failsafe-plugin
- ${version.org.apache.maven.plugins.surefire}
+ 3.5.3
org.apache.maven.plugins
maven-gpg-plugin
- ${version.org.apache.maven.plugins.gpg}
+ 3.2.7
org.apache.maven.plugins
maven-install-plugin
- ${version.org.apache.maven.plugins.install}
+ 3.1.4
org.apache.maven.plugins
maven-jar-plugin
- ${version.org.apache.maven.plugins.jar}
+ 3.4.2
org.apache.maven.plugins
maven-javadoc-plugin
- ${version.org.apache.maven.plugins.javadoc}
+ 3.11.2
org.apache.maven.plugins
maven-release-plugin
- ${version.org.apache.maven.plugins.release}
+ 3.1.1
clean verify
check
@@ -296,7 +267,7 @@
org.apache.maven.plugins
maven-resources-plugin
- ${version.org.apache.maven.plugins.resources}
+ 3.3.1
${project.build.propertiesEncoding}
@@ -304,43 +275,32 @@
org.apache.maven.plugins
maven-site-plugin
- ${version.org.apache.maven.plugins.site}
+ 3.21.0
org.apache.maven.plugins
maven-source-plugin
- ${version.org.apache.maven.plugins.source}
+ 3.3.1
org.apache.maven.plugins
maven-surefire-plugin
- ${version.org.apache.maven.plugins.surefire}
+ 3.5.3
org.codehaus.mojo
tidy-maven-plugin
- ${version.org.codehaus.mojo.tidy}
+ 1.4.0
- org.codehaus.mojo
- versions-maven-plugin
- ${version.org.codehaus.mojo.versions}
-
- false
-
- ^.*-(alpha|beta|M)-?[0-9]+$
-
-
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
- ${version.org.sonatype.plugins.nexus}
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.7.0
net.revelc.code.formatter
formatter-maven-plugin
- ${version.net.revelc.code.formatter}
+ 2.26.0
${formatter.configFile}
@@ -348,12 +308,7 @@
net.revelc.code
impsort-maven-plugin
- ${version.net.revelc.code.impsort}
-
-
- io.fabric8
- docker-maven-plugin
- ${version.io.fabric8.docker}
+ 1.12.0
@@ -373,18 +328,6 @@
-
-
- org.apache.maven.plugins
- maven-install-plugin
-
-
- default-install
-
-
-
-
-
@@ -516,109 +459,12 @@
- javadoc-no-fork
+ jar
-
-
- io.fabric8
- docker-maven-plugin
-
-
- build
- install
-
- build
-
-
-
- push
- deploy
-
- push
-
-
-
-
- build
-
-
- docker.io/kokuwaio/keycloak-event-metrics:${project.version}
-
- docker.io/library/busybox:1.37.0-uclibc@sha256:cc57e0ff4b6d3138931ff5c7180d18078813300e2508a25fb767a4d36df30d4d
-
- ${file.separator}
-
-
-
- ${project.build.directory}/${project.build.finalName}.jar
- ${project.artifactId}.jar
- 444
-
-
-
-
-
-
- ${project.name}
- ${project.description}
- ${project.url}
- ${project.scm.url}
- ${project.organization.name}
- https://github.com/orgs/kokuwaio/people
- ${project.licenses[0].name}
- ${project.version}
- docker.io/library/busybox:1.37.0-uclibc
- sha256:cc57e0ff4b6d3138931ff5c7180d18078813300e2508a25fb767a4d36df30d4d
-
-
-
-
- ghcr.io/kokuwaio/keycloak-event-metrics:${project.version}
-
- docker.io/library/busybox:1.37.0-uclibc@sha256:cc57e0ff4b6d3138931ff5c7180d18078813300e2508a25fb767a4d36df30d4d
-
- ${file.separator}
-
-
-
- ${project.build.directory}/${project.build.finalName}.jar
- ${project.artifactId}.jar
- 444
-
-
-
-
-
-
- ${project.name}
- ${project.description}
- ${project.url}
- ${project.scm.url}
- ${project.organization.name}
- https://github.com/orgs/kokuwaio/people
- ${project.licenses[0].name}
- ${project.version}
- docker.io/library/busybox:1.37.0-uclibc
- sha256:cc57e0ff4b6d3138931ff5c7180d18078813300e2508a25fb767a4d36df30d4d
-
-
-
-
-
-
-
-
-
-
-
- release
-
-
-
org.apache.maven.plugins
@@ -628,22 +474,30 @@
sign
+
+ bc
+
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
- true
-
- sonatype-nexus
- https://oss.sonatype.org/
- true
-
-
-
+
+
+
+
+ release
+
+
+
+ org.sonatype.central
+ central-publishing-maven-plugin
+ true
+
+ sonatype.org
+ true
+ published
+
+
diff --git a/renovate.json b/renovate.json
new file mode 100644
index 0000000..47fe869
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+ "extends": ["local>infrastructure/renovate-config", ":reviewer(stephan.schnabel)"]
+}
diff --git a/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakExtension.java b/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakExtension.java
index 19c380c..aa179f7 100644
--- a/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakExtension.java
+++ b/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakExtension.java
@@ -50,28 +50,29 @@ public class KeycloakExtension implements BeforeAllCallback, ParameterResolver {
var jar = properties.getProperty("jar");
var timeout = properties.getProperty("timeout");
- // create and start container
+ // create and start container - use fixed port in ci
@SuppressWarnings({ "resource", "deprecation" })
var container = (System.getenv("CI") == null
? new GenericContainer<>(image).withExposedPorts(8080)
- : new FixedHostPortGenericContainer<>(image).withFixedExposedPort(8080, 8080))
- .withEnv("KEYCLOAK_ADMIN", "admin")
- .withEnv("KEYCLOAK_ADMIN_PASSWORD", "password")
- .withEnv("KC_LOG_LEVEL", "io.kokuwa:trace")
- // otherwise port 9000 will be used, with this config we can test different keycloak versions
- .withEnv("KC_LEGACY_OBSERVABILITY_INTERFACE", "true")
- .withEnv("KC_HEALTH_ENABLED", "true")
- .withEnv("KC_METRICS_ENABLED", "true")
- .withEnv("KC_METRICS_STATS_ENABLED", "true")
- .withEnv("KC_METRICS_STATS_INTERVAL", "PT1s")
- .withCopyFileToContainer(MountableFile.forHostPath(jar), "/opt/keycloak/providers/metrics.jar")
- .withLogConsumer(out -> System.out.print(out.getUtf8String()))
- .withStartupTimeout(Duration.parse(timeout))
- .waitingFor(Wait.forHttp("/health").forPort(8080).withStartupTimeout(Duration.ofMinutes(10)))
- .withCommand("start-dev");
+ : new FixedHostPortGenericContainer<>(image).withFixedExposedPort(8080, 8080));
try {
- container.start();
+ container
+ .withEnv("KEYCLOAK_ADMIN", "admin")
+ .withEnv("KEYCLOAK_ADMIN_PASSWORD", "password")
+ .withEnv("KC_LOG_LEVEL", "io.kokuwa:trace")
+ // otherwise port 9000 will be used, with this config we can test different keycloak versions
+ .withEnv("KC_LEGACY_OBSERVABILITY_INTERFACE", "true")
+ .withEnv("KC_HEALTH_ENABLED", "true")
+ .withEnv("KC_METRICS_ENABLED", "true")
+ .withEnv("KC_METRICS_STATS_ENABLED", "true")
+ .withEnv("KC_METRICS_STATS_INTERVAL", "PT1s")
+ .withCopyFileToContainer(MountableFile.forHostPath(jar), "/opt/keycloak/providers/metrics.jar")
+ .withLogConsumer(out -> System.out.print(out.getUtf8String()))
+ .withStartupTimeout(Duration.parse(timeout))
+ .waitingFor(Wait.forHttp("/health").forPort(8080).withStartupTimeout(Duration.ofMinutes(10)))
+ .withCommand("start-dev")
+ .start();
} catch (RuntimeException e) {
throw new Exception("Failed to start keycloak", e);
}