diff --git a/.github/workflows/docker-publish-22.0.5.yml b/.github/workflows/docker-publish-22.0.5.yml new file mode 100644 index 0000000..f8dabb2 --- /dev/null +++ b/.github/workflows/docker-publish-22.0.5.yml @@ -0,0 +1,86 @@ +name: Docker apple idendity provider keycloak 22.0.5 +'on': + push: + tags: + - '*' +jobs: + docker: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Repo metadata + id: repo + uses: actions/github-script@v4 + with: + script: | + const repo = await github.repos.get(context.repo) + return repo.data + - name: Prepare + id: prep + run: | + REG=ghcr.io + IMAGE=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') + DOCKER_IMAGE=${REG}/${IMAGE}-22.0.5 + VERSION=nool + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/}- + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=latest + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${DOCKER_IMAGE}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest" + fi + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: '${{ github.actor }}' + password: '${{ secrets.GITHUB_TOKEN }}' + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile.22.0.5 + platforms: linux/amd64 + push: true + tags: '${{ steps.prep.outputs.tags }}' + labels: > + org.opencontainers.image.title=${{ + fromJson(steps.repo.outputs.result).name }} + + org.opencontainers.image.description=${{ + fromJson(steps.repo.outputs.result).description }} + + org.opencontainers.image.url=${{ + fromJson(steps.repo.outputs.result).html_url }} + + org.opencontainers.image.source=${{ + fromJson(steps.repo.outputs.result).html_url }} + + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + + org.opencontainers.image.revision=${{ github.sha }} + + org.opencontainers.image.licenses=${{ + fromJson(steps.repo.outputs.result).license.spdx_id }} \ No newline at end of file diff --git a/.github/workflows/docker-publish-23.0.0.yml b/.github/workflows/docker-publish-23.0.0.yml new file mode 100644 index 0000000..d62fda1 --- /dev/null +++ b/.github/workflows/docker-publish-23.0.0.yml @@ -0,0 +1,86 @@ +name: Docker apple idendity provider keycloak 23.0.0 +'on': + push: + tags: + - '*' +jobs: + docker: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Repo metadata + id: repo + uses: actions/github-script@v4 + with: + script: | + const repo = await github.repos.get(context.repo) + return repo.data + - name: Prepare + id: prep + run: | + REG=ghcr.io + IMAGE=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') + DOCKER_IMAGE=${REG}/${IMAGE}-23.0.0 + VERSION=nool + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/}- + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=latest + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${DOCKER_IMAGE}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest" + fi + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: '${{ github.actor }}' + password: '${{ secrets.GITHUB_TOKEN }}' + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile.23.0.0 + platforms: linux/amd64 + push: true + tags: '${{ steps.prep.outputs.tags }}' + labels: > + org.opencontainers.image.title=${{ + fromJson(steps.repo.outputs.result).name }} + + org.opencontainers.image.description=${{ + fromJson(steps.repo.outputs.result).description }} + + org.opencontainers.image.url=${{ + fromJson(steps.repo.outputs.result).html_url }} + + org.opencontainers.image.source=${{ + fromJson(steps.repo.outputs.result).html_url }} + + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + + org.opencontainers.image.revision=${{ github.sha }} + + org.opencontainers.image.licenses=${{ + fromJson(steps.repo.outputs.result).license.spdx_id }} \ No newline at end of file diff --git a/.github/workflows/docker-publish-23.0.4.yml b/.github/workflows/docker-publish-23.0.4.yml new file mode 100644 index 0000000..6a501ed --- /dev/null +++ b/.github/workflows/docker-publish-23.0.4.yml @@ -0,0 +1,86 @@ +name: Docker apple idendity provider keycloak 23.0.5 +'on': + push: + tags: + - '*' +jobs: + docker: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Repo metadata + id: repo + uses: actions/github-script@v4 + with: + script: | + const repo = await github.repos.get(context.repo) + return repo.data + - name: Prepare + id: prep + run: | + REG=ghcr.io + IMAGE=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') + DOCKER_IMAGE=${REG}/${IMAGE}-23.0.5 + VERSION=nool + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/}- + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=latest + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${DOCKER_IMAGE}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest" + fi + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: '${{ github.actor }}' + password: '${{ secrets.GITHUB_TOKEN }}' + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile.23.0.5 + platforms: linux/amd64 + push: true + tags: '${{ steps.prep.outputs.tags }}' + labels: > + org.opencontainers.image.title=${{ + fromJson(steps.repo.outputs.result).name }} + + org.opencontainers.image.description=${{ + fromJson(steps.repo.outputs.result).description }} + + org.opencontainers.image.url=${{ + fromJson(steps.repo.outputs.result).html_url }} + + org.opencontainers.image.source=${{ + fromJson(steps.repo.outputs.result).html_url }} + + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + + org.opencontainers.image.revision=${{ github.sha }} + + org.opencontainers.image.licenses=${{ + fromJson(steps.repo.outputs.result).license.spdx_id }} \ No newline at end of file diff --git a/.github/workflows/docker-publish-23.0.5.yml b/.github/workflows/docker-publish-23.0.5.yml new file mode 100644 index 0000000..6a501ed --- /dev/null +++ b/.github/workflows/docker-publish-23.0.5.yml @@ -0,0 +1,86 @@ +name: Docker apple idendity provider keycloak 23.0.5 +'on': + push: + tags: + - '*' +jobs: + docker: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Repo metadata + id: repo + uses: actions/github-script@v4 + with: + script: | + const repo = await github.repos.get(context.repo) + return repo.data + - name: Prepare + id: prep + run: | + REG=ghcr.io + IMAGE=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') + DOCKER_IMAGE=${REG}/${IMAGE}-23.0.5 + VERSION=nool + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/}- + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=latest + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${DOCKER_IMAGE}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest" + fi + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: '${{ github.actor }}' + password: '${{ secrets.GITHUB_TOKEN }}' + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile.23.0.5 + platforms: linux/amd64 + push: true + tags: '${{ steps.prep.outputs.tags }}' + labels: > + org.opencontainers.image.title=${{ + fromJson(steps.repo.outputs.result).name }} + + org.opencontainers.image.description=${{ + fromJson(steps.repo.outputs.result).description }} + + org.opencontainers.image.url=${{ + fromJson(steps.repo.outputs.result).html_url }} + + org.opencontainers.image.source=${{ + fromJson(steps.repo.outputs.result).html_url }} + + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + + org.opencontainers.image.revision=${{ github.sha }} + + org.opencontainers.image.licenses=${{ + fromJson(steps.repo.outputs.result).license.spdx_id }} \ No newline at end of file diff --git a/Dockerfile.22.0.5 b/Dockerfile.22.0.5 new file mode 100644 index 0000000..62bd0db --- /dev/null +++ b/Dockerfile.22.0.5 @@ -0,0 +1,15 @@ +FROM quay.io/keycloak/keycloak:22.0.5 as builder +#ENV KC_HEALTH_ENABLED=true +ENV KC_FEATURES=token-exchange +#ENV KC_HTTP_RELATIVE_PATH="/auth" +# Install custom providers +# Apple Social Identity Provider - https://github.com/klausbetz/apple-identity-provider-keycloak +ADD --chown=keycloak:keycloak https://github.com/klausbetz/apple-identity-provider-keycloak/releases/download/1.10.0/apple-identity-provider-1.10.0.jar /opt/keycloak/providers/apple-identity-provider-1.10.0.jar +# build optimized image +RUN /opt/keycloak/bin/kc.sh build +# +FROM quay.io/keycloak/keycloak:22.0.5 +COPY --from=builder /opt/keycloak/ /opt/keycloak/ +WORKDIR /opt/keycloak +ENTRYPOINT ["/opt/keycloak/bin/kc.sh"] +# \ No newline at end of file diff --git a/Dockerfile.23.0.0 b/Dockerfile.23.0.0 new file mode 100644 index 0000000..2a8ca7d --- /dev/null +++ b/Dockerfile.23.0.0 @@ -0,0 +1,15 @@ +FROM quay.io/keycloak/keycloak:23.0.0 as builder +#ENV KC_HEALTH_ENABLED=true +ENV KC_FEATURES=token-exchange +#ENV KC_HTTP_RELATIVE_PATH="/auth" +# Install custom providers +# Apple Social Identity Provider - https://github.com/klausbetz/apple-identity-provider-keycloak +ADD --chown=keycloak:keycloak https://github.com/klausbetz/apple-identity-provider-keycloak/releases/download/1.10.0/apple-identity-provider-1.10.0.jar /opt/keycloak/providers/apple-identity-provider-1.10.0.jar +# build optimized image +RUN /opt/keycloak/bin/kc.sh build +# +FROM quay.io/keycloak/keycloak:23.0.0 +COPY --from=builder /opt/keycloak/ /opt/keycloak/ +WORKDIR /opt/keycloak +ENTRYPOINT ["/opt/keycloak/bin/kc.sh"] +# \ No newline at end of file diff --git a/Dockerfile.23.0.4 b/Dockerfile.23.0.4 new file mode 100644 index 0000000..e1de8e3 --- /dev/null +++ b/Dockerfile.23.0.4 @@ -0,0 +1,15 @@ +FROM quay.io/keycloak/keycloak:23.0.5 as builder +#ENV KC_HEALTH_ENABLED=true +ENV KC_FEATURES=token-exchange +#ENV KC_HTTP_RELATIVE_PATH="/auth" +# Install custom providers +# Apple Social Identity Provider - https://github.com/klausbetz/apple-identity-provider-keycloak +ADD --chown=keycloak:keycloak https://github.com/klausbetz/apple-identity-provider-keycloak/releases/download/1.10.0/apple-identity-provider-1.10.0.jar /opt/keycloak/providers/apple-identity-provider-1.10.0.jar +# build optimized image +RUN /opt/keycloak/bin/kc.sh build +# +FROM quay.io/keycloak/keycloak:23.0.5 +COPY --from=builder /opt/keycloak/ /opt/keycloak/ +WORKDIR /opt/keycloak +ENTRYPOINT ["/opt/keycloak/bin/kc.sh"] +# \ No newline at end of file diff --git a/Dockerfile.23.0.5 b/Dockerfile.23.0.5 new file mode 100644 index 0000000..e1de8e3 --- /dev/null +++ b/Dockerfile.23.0.5 @@ -0,0 +1,15 @@ +FROM quay.io/keycloak/keycloak:23.0.5 as builder +#ENV KC_HEALTH_ENABLED=true +ENV KC_FEATURES=token-exchange +#ENV KC_HTTP_RELATIVE_PATH="/auth" +# Install custom providers +# Apple Social Identity Provider - https://github.com/klausbetz/apple-identity-provider-keycloak +ADD --chown=keycloak:keycloak https://github.com/klausbetz/apple-identity-provider-keycloak/releases/download/1.10.0/apple-identity-provider-1.10.0.jar /opt/keycloak/providers/apple-identity-provider-1.10.0.jar +# build optimized image +RUN /opt/keycloak/bin/kc.sh build +# +FROM quay.io/keycloak/keycloak:23.0.5 +COPY --from=builder /opt/keycloak/ /opt/keycloak/ +WORKDIR /opt/keycloak +ENTRYPOINT ["/opt/keycloak/bin/kc.sh"] +# \ No newline at end of file