From 0c2ede1002c0384a2359730b36fda5a195c992e0 Mon Sep 17 00:00:00 2001 From: kilmajster Date: Mon, 25 Oct 2021 19:27:23 +0200 Subject: [PATCH 1/7] (#34) Added Docker init container & pipeline for publishing package to Github releases and Docker hub --- .github/workflows/release-github-tag.yml | 49 ++++++++++++++++++++++++ build.gradle | 1 - gradle.properties | 1 + src/main/docker/initContainer.Dockerfile | 5 +++ 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/release-github-tag.yml create mode 100644 src/main/docker/initContainer.Dockerfile diff --git a/.github/workflows/release-github-tag.yml b/.github/workflows/release-github-tag.yml new file mode 100644 index 0000000..38a1c3a --- /dev/null +++ b/.github/workflows/release-github-tag.yml @@ -0,0 +1,49 @@ +name: Publish package as Github release & Docker init container + +on: + release: + types: [created] + +jobs: + release-github-tag: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Build a project & run unit tests + run: ./gradlew test + + - name: Get the tag name + run: echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV + + - name: Set version from git tag + run: ./gradlew jar -P version=${{ env.TAG }} + + - name: Add jar to Github release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: build/libs/keycloak-metrics-spi-${{ env.TAG }}.jar + asset_name: keycloak-metrics-spi-${{ env.TAG }}.jar + tag: ${{ github.ref }} + + - name: Build Docker init container + run: | + docker build \ + --build-arg VERSION=${{ env.TAG }} \ + -f src/main/docker/initContainer.Dockerfile \ + -t kilmajster/keycloak-metrics-spi:${{ env.TAG }} \ + -t kilmajster/keycloak-metrics-spi:latest \ + . + + - name: Log into Docker Hub + uses: docker/login-action@v1 + with: + username: kilmajster + password: ${{ secrets.DOCKER_HUB_TOKEN }} + + - name: Push tagged Docker image + run: docker push kilmajster/keycloak-metrics-spi:${{ env.TAG }} + + - name: Push latest Docker image + run: docker push kilmajster/keycloak-metrics-spi:latest diff --git a/build.gradle b/build.gradle index 6aff14f..7d610e2 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,6 @@ configurations { } group 'org.jboss.aerogear' -version '2.5.3-SNAPSHOT' apply plugin: 'java' diff --git a/gradle.properties b/gradle.properties index 7102544..2d27af7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,3 @@ +version=SNAPSHOT keycloakVersion=12.0.1 prometheusVersion=0.9.0 diff --git a/src/main/docker/initContainer.Dockerfile b/src/main/docker/initContainer.Dockerfile new file mode 100644 index 0000000..17efcc1 --- /dev/null +++ b/src/main/docker/initContainer.Dockerfile @@ -0,0 +1,5 @@ +FROM busybox + +ARG VERSION + +COPY build/libs/keycloak-metrics-spi-${VERSION}.jar /keycloak-metrics-spi/ From 0e8ea7142cb19bae8245767a90fc64957dc6359d Mon Sep 17 00:00:00 2001 From: kilmajster Date: Mon, 25 Oct 2021 20:15:43 +0200 Subject: [PATCH 2/7] (#34) Added docs about using init container --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index 4a4765a..da3a9c6 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,35 @@ touch keycloak-metrics-spi-2.0.2.jar.dodeploy ``` - Restart the keycloak service. +#### Using Docker init container +If you are running Keycloak using Helm charts, here is a ready init container build on busybox. Provider jar file is placed in `/keycloak-metrics-spi` directory, so +according to official Keycloak [example](https://github.com/codecentric/helm-charts/blob/master/charts/keycloak/README.md#providing-a-custom-theme), +your Helm chart could look like following: +```yaml +extraInitContainers: | + - name: keycloak-metrics-spi + image: aerogear/keycloak-metrics-spi:latest + imagePullPolicy: IfNotPresent + command: + - sh + args: + - -c + - | + echo "Copying keycloak-metrics-spi..." + cp -R /keycloak-metrics-spi/*.jar /keycloak-metrics-spi + volumeMounts: + - name: keycloak-metrics-spi + mountPath: /keycloak-metrics-spi + +extraVolumeMounts: | + - name: keycloak-metrics-spi + mountPath: /opt/jboss/keycloak/standalone/deployments + +extraVolumes: | + - name: keycloak-metrics-spi + emptyDir: {} +``` + ### Enable metrics-listener event - To enable the event listener via the GUI interface, go to _Manage -> Events -> Config_. The _Event Listeners_ configuration should have an entry named `metrics-listener`. From e9ce373e31341048b9b409e5461b972a613c4f11 Mon Sep 17 00:00:00 2001 From: kilmajster Date: Mon, 25 Oct 2021 20:53:55 +0200 Subject: [PATCH 3/7] (#34) Renamed target docker repo to aerogear --- .github/workflows/release-github-tag.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-github-tag.yml b/.github/workflows/release-github-tag.yml index 38a1c3a..d256219 100644 --- a/.github/workflows/release-github-tag.yml +++ b/.github/workflows/release-github-tag.yml @@ -32,18 +32,18 @@ jobs: docker build \ --build-arg VERSION=${{ env.TAG }} \ -f src/main/docker/initContainer.Dockerfile \ - -t kilmajster/keycloak-metrics-spi:${{ env.TAG }} \ - -t kilmajster/keycloak-metrics-spi:latest \ + -t aerogear/keycloak-metrics-spi:${{ env.TAG }} \ + -t aerogear/keycloak-metrics-spi:latest \ . - name: Log into Docker Hub uses: docker/login-action@v1 with: - username: kilmajster + username: aerogear password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Push tagged Docker image - run: docker push kilmajster/keycloak-metrics-spi:${{ env.TAG }} + run: docker push aerogear/keycloak-metrics-spi:${{ env.TAG }} - name: Push latest Docker image - run: docker push kilmajster/keycloak-metrics-spi:latest + run: docker push aerogear/keycloak-metrics-spi:latest From 092ebeff10b7d0719f133d53d43bf309acf2f3b7 Mon Sep 17 00:00:00 2001 From: kilmajster Date: Thu, 6 Jan 2022 17:12:21 +0100 Subject: [PATCH 4/7] set personal docker hub account username for tests --- .github/workflows/release-github-tag.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-github-tag.yml b/.github/workflows/release-github-tag.yml index d256219..38a1c3a 100644 --- a/.github/workflows/release-github-tag.yml +++ b/.github/workflows/release-github-tag.yml @@ -32,18 +32,18 @@ jobs: docker build \ --build-arg VERSION=${{ env.TAG }} \ -f src/main/docker/initContainer.Dockerfile \ - -t aerogear/keycloak-metrics-spi:${{ env.TAG }} \ - -t aerogear/keycloak-metrics-spi:latest \ + -t kilmajster/keycloak-metrics-spi:${{ env.TAG }} \ + -t kilmajster/keycloak-metrics-spi:latest \ . - name: Log into Docker Hub uses: docker/login-action@v1 with: - username: aerogear + username: kilmajster password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Push tagged Docker image - run: docker push aerogear/keycloak-metrics-spi:${{ env.TAG }} + run: docker push kilmajster/keycloak-metrics-spi:${{ env.TAG }} - name: Push latest Docker image - run: docker push aerogear/keycloak-metrics-spi:latest + run: docker push kilmajster/keycloak-metrics-spi:latest From 1c3f3240b7637b99b67203bdc5c207c575549065 Mon Sep 17 00:00:00 2001 From: kilmajster Date: Tue, 5 Apr 2022 07:59:15 +0200 Subject: [PATCH 5/7] renamed docker repo to aerogear --- .github/workflows/release-github-tag.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-github-tag.yml b/.github/workflows/release-github-tag.yml index 38a1c3a..d256219 100644 --- a/.github/workflows/release-github-tag.yml +++ b/.github/workflows/release-github-tag.yml @@ -32,18 +32,18 @@ jobs: docker build \ --build-arg VERSION=${{ env.TAG }} \ -f src/main/docker/initContainer.Dockerfile \ - -t kilmajster/keycloak-metrics-spi:${{ env.TAG }} \ - -t kilmajster/keycloak-metrics-spi:latest \ + -t aerogear/keycloak-metrics-spi:${{ env.TAG }} \ + -t aerogear/keycloak-metrics-spi:latest \ . - name: Log into Docker Hub uses: docker/login-action@v1 with: - username: kilmajster + username: aerogear password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Push tagged Docker image - run: docker push kilmajster/keycloak-metrics-spi:${{ env.TAG }} + run: docker push aerogear/keycloak-metrics-spi:${{ env.TAG }} - name: Push latest Docker image - run: docker push kilmajster/keycloak-metrics-spi:latest + run: docker push aerogear/keycloak-metrics-spi:latest From 416397972035c57e7493496a4f2f73257f93e97e Mon Sep 17 00:00:00 2001 From: kilmajster Date: Sat, 3 Jun 2023 22:49:17 +0200 Subject: [PATCH 6/7] merge with upstream & versions bumps --- .github/workflows/release-github-tag.yml | 4 ++-- build.gradle | 1 - gradle.properties | 4 +--- pom.xml | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release-github-tag.yml b/.github/workflows/release-github-tag.yml index d256219..e941f03 100644 --- a/.github/workflows/release-github-tag.yml +++ b/.github/workflows/release-github-tag.yml @@ -8,7 +8,7 @@ jobs: release-github-tag: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Build a project & run unit tests run: ./gradlew test @@ -37,7 +37,7 @@ jobs: . - name: Log into Docker Hub - uses: docker/login-action@v1 + uses: docker/login-action@v2 with: username: aerogear password: ${{ secrets.DOCKER_HUB_TOKEN }} diff --git a/build.gradle b/build.gradle index a2ea3d0..31b2fbb 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,6 @@ configurations { } group 'org.jboss.aerogear' -version '3.0.1-SNAPSHOT' apply plugin: 'java' diff --git a/gradle.properties b/gradle.properties index f76d5eb..88de3c9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,3 @@ +version=3.0.1-SNAPSHOT keycloakVersion=21.0.1 prometheusVersion=0.16.0 -version=SNAPSHOT -keycloakVersion=15.0.2 -prometheusVersion=0.9.0 diff --git a/pom.xml b/pom.xml index 7117027..3b8726f 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ keycloak-metrics-spi org.jboss.aerogear jar - 3.0.0-SNAPSHOT + 3.0.1-SNAPSHOT 17 From 404a2535f6ea31586f6e94f56c7f9839a15f9af3 Mon Sep 17 00:00:00 2001 From: kilmajster Date: Tue, 29 Aug 2023 21:04:54 +0200 Subject: [PATCH 7/7] bumped JDK to v17 for release job --- .github/workflows/release-github-tag.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/release-github-tag.yml b/.github/workflows/release-github-tag.yml index e941f03..71445ce 100644 --- a/.github/workflows/release-github-tag.yml +++ b/.github/workflows/release-github-tag.yml @@ -10,6 +10,11 @@ jobs: steps: - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + distribution: 'adopt' + java-version: '17' + - name: Build a project & run unit tests run: ./gradlew test