diff --git a/.github/workflows/ci-master-pr.yml b/.github/workflows/ci-master-pr.yml index 936caf0..9a7f4d3 100644 --- a/.github/workflows/ci-master-pr.yml +++ b/.github/workflows/ci-master-pr.yml @@ -138,6 +138,132 @@ jobs: run: docker logout if: always() + build-2-8-0-libvirt-8-alpine-3-17: + runs-on: ubuntu-latest + env: + VARIANT_TAG: 2.8.0-libvirt-8-alpine-3.17 + VARIANT_BUILD_DIR: variants/2.8.0-libvirt-8-alpine-3.17 + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Display system info (linux) + run: | + set -e + hostname + whoami + cat /etc/*release + lscpu + free + df -h + pwd + docker info + docker version + + # See: https://github.com/docker/build-push-action/blob/v2.6.1/docs/advanced/cache.md#github-cache + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@master + + - name: Cache Docker layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + + - name: Prepare + id: prep + run: | + set -e + + # Get 'namespace' and 'project-name' from 'namespace/project-name' + # CI_PROJECT_NAMESPACE=$( echo "${{ github.repository }}" | cut -d '/' -f 1 ) + # CI_PROJECT_NAME=$( echo "${{ github.repository }}" | cut -d '/' -f 2 ) + + # Get ref, i.e. from refs/heads/, or from refs/tags/. E.g. 'master' or 'v1.2.3' + REF=$( echo "${GITHUB_REF}" | rev | cut -d '/' -f 1 | rev ) + + # Get commit hash E.g. 'b29758a' + SHA_SHORT=$( echo "${GITHUB_SHA}" | cut -c1-7 ) + + # Generate the final tags. E.g. 'master-mytag' and 'master-b29758a-mytag' + VARIANT_TAG_WITH_REF="${REF}-${VARIANT_TAG}" + VARIANT_TAG_WITH_REF_AND_SHA_SHORT="${REF}-${SHA_SHORT}-${VARIANT_TAG}" + + # Pass variables to next step + # echo "CI_PROJECT_NAMESPACE=$CI_PROJECT_NAMESPACE" >> $GITHUB_ENV + # echo "CI_PROJECT_NAME=$CI_PROJECT_NAME" >> $GITHUB_ENV + # echo "REF=$REF" >> $GITHUB_ENV + # echo "SHA_SHORT=$SHA_SHORT" >> $GITHUB_ENV + # echo "REF_AND_SHA_SHORT=$REF_AND_SHA_SHORT" >> $GITHUB_ENV + echo "VARIANT_BUILD_DIR=$VARIANT_BUILD_DIR" >> $GITHUB_ENV + echo "VARIANT_TAG=$VARIANT_TAG" >> $GITHUB_ENV + echo "VARIANT_TAG_WITH_REF=$VARIANT_TAG_WITH_REF" >> $GITHUB_ENV + echo "VARIANT_TAG_WITH_REF_AND_SHA_SHORT=$VARIANT_TAG_WITH_REF_AND_SHA_SHORT" >> $GITHUB_ENV + + - name: Login to docker registry + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') + run: echo "${DOCKERHUB_REGISTRY_PASSWORD}" | docker login -u "${DOCKERHUB_REGISTRY_USER}" --password-stdin + env: + DOCKERHUB_REGISTRY_USER: ${{ secrets.DOCKERHUB_REGISTRY_USER }} + DOCKERHUB_REGISTRY_PASSWORD: ${{ secrets.DOCKERHUB_REGISTRY_PASSWORD }} + + - name: Build (PRs) + id: docker_build_pr + # Run only on pull requests + if: github.event_name == 'pull_request' + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: false + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Build and push (master) + id: docker_build_master + # Run only on master + if: github.ref == 'refs/heads/master' + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: true + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Build and push (release) + id: docker_build_release + if: startsWith(github.ref, 'refs/tags/') + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: true + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: List docker images + run: docker images + + - name: Clean-up + run: docker logout + if: always() + build-2-8-0-curl-git-jq-sops-ssh-alpine-3-17: runs-on: ubuntu-latest env: @@ -390,6 +516,132 @@ jobs: run: docker logout if: always() + build-2-8-0-libvirt-7-alpine-3-15: + runs-on: ubuntu-latest + env: + VARIANT_TAG: 2.8.0-libvirt-7-alpine-3.15 + VARIANT_BUILD_DIR: variants/2.8.0-libvirt-7-alpine-3.15 + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Display system info (linux) + run: | + set -e + hostname + whoami + cat /etc/*release + lscpu + free + df -h + pwd + docker info + docker version + + # See: https://github.com/docker/build-push-action/blob/v2.6.1/docs/advanced/cache.md#github-cache + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@master + + - name: Cache Docker layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + + - name: Prepare + id: prep + run: | + set -e + + # Get 'namespace' and 'project-name' from 'namespace/project-name' + # CI_PROJECT_NAMESPACE=$( echo "${{ github.repository }}" | cut -d '/' -f 1 ) + # CI_PROJECT_NAME=$( echo "${{ github.repository }}" | cut -d '/' -f 2 ) + + # Get ref, i.e. from refs/heads/, or from refs/tags/. E.g. 'master' or 'v1.2.3' + REF=$( echo "${GITHUB_REF}" | rev | cut -d '/' -f 1 | rev ) + + # Get commit hash E.g. 'b29758a' + SHA_SHORT=$( echo "${GITHUB_SHA}" | cut -c1-7 ) + + # Generate the final tags. E.g. 'master-mytag' and 'master-b29758a-mytag' + VARIANT_TAG_WITH_REF="${REF}-${VARIANT_TAG}" + VARIANT_TAG_WITH_REF_AND_SHA_SHORT="${REF}-${SHA_SHORT}-${VARIANT_TAG}" + + # Pass variables to next step + # echo "CI_PROJECT_NAMESPACE=$CI_PROJECT_NAMESPACE" >> $GITHUB_ENV + # echo "CI_PROJECT_NAME=$CI_PROJECT_NAME" >> $GITHUB_ENV + # echo "REF=$REF" >> $GITHUB_ENV + # echo "SHA_SHORT=$SHA_SHORT" >> $GITHUB_ENV + # echo "REF_AND_SHA_SHORT=$REF_AND_SHA_SHORT" >> $GITHUB_ENV + echo "VARIANT_BUILD_DIR=$VARIANT_BUILD_DIR" >> $GITHUB_ENV + echo "VARIANT_TAG=$VARIANT_TAG" >> $GITHUB_ENV + echo "VARIANT_TAG_WITH_REF=$VARIANT_TAG_WITH_REF" >> $GITHUB_ENV + echo "VARIANT_TAG_WITH_REF_AND_SHA_SHORT=$VARIANT_TAG_WITH_REF_AND_SHA_SHORT" >> $GITHUB_ENV + + - name: Login to docker registry + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') + run: echo "${DOCKERHUB_REGISTRY_PASSWORD}" | docker login -u "${DOCKERHUB_REGISTRY_USER}" --password-stdin + env: + DOCKERHUB_REGISTRY_USER: ${{ secrets.DOCKERHUB_REGISTRY_USER }} + DOCKERHUB_REGISTRY_PASSWORD: ${{ secrets.DOCKERHUB_REGISTRY_PASSWORD }} + + - name: Build (PRs) + id: docker_build_pr + # Run only on pull requests + if: github.event_name == 'pull_request' + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: false + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Build and push (master) + id: docker_build_master + # Run only on master + if: github.ref == 'refs/heads/master' + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: true + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Build and push (release) + id: docker_build_release + if: startsWith(github.ref, 'refs/tags/') + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: true + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: List docker images + run: docker images + + - name: Clean-up + run: docker logout + if: always() + build-2-8-0-curl-git-jq-sops-ssh-alpine-3-15: runs-on: ubuntu-latest env: @@ -642,6 +894,132 @@ jobs: run: docker logout if: always() + build-2-8-0-libvirt-6-alpine-3-13: + runs-on: ubuntu-latest + env: + VARIANT_TAG: 2.8.0-libvirt-6-alpine-3.13 + VARIANT_BUILD_DIR: variants/2.8.0-libvirt-6-alpine-3.13 + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Display system info (linux) + run: | + set -e + hostname + whoami + cat /etc/*release + lscpu + free + df -h + pwd + docker info + docker version + + # See: https://github.com/docker/build-push-action/blob/v2.6.1/docs/advanced/cache.md#github-cache + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@master + + - name: Cache Docker layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + + - name: Prepare + id: prep + run: | + set -e + + # Get 'namespace' and 'project-name' from 'namespace/project-name' + # CI_PROJECT_NAMESPACE=$( echo "${{ github.repository }}" | cut -d '/' -f 1 ) + # CI_PROJECT_NAME=$( echo "${{ github.repository }}" | cut -d '/' -f 2 ) + + # Get ref, i.e. from refs/heads/, or from refs/tags/. E.g. 'master' or 'v1.2.3' + REF=$( echo "${GITHUB_REF}" | rev | cut -d '/' -f 1 | rev ) + + # Get commit hash E.g. 'b29758a' + SHA_SHORT=$( echo "${GITHUB_SHA}" | cut -c1-7 ) + + # Generate the final tags. E.g. 'master-mytag' and 'master-b29758a-mytag' + VARIANT_TAG_WITH_REF="${REF}-${VARIANT_TAG}" + VARIANT_TAG_WITH_REF_AND_SHA_SHORT="${REF}-${SHA_SHORT}-${VARIANT_TAG}" + + # Pass variables to next step + # echo "CI_PROJECT_NAMESPACE=$CI_PROJECT_NAMESPACE" >> $GITHUB_ENV + # echo "CI_PROJECT_NAME=$CI_PROJECT_NAME" >> $GITHUB_ENV + # echo "REF=$REF" >> $GITHUB_ENV + # echo "SHA_SHORT=$SHA_SHORT" >> $GITHUB_ENV + # echo "REF_AND_SHA_SHORT=$REF_AND_SHA_SHORT" >> $GITHUB_ENV + echo "VARIANT_BUILD_DIR=$VARIANT_BUILD_DIR" >> $GITHUB_ENV + echo "VARIANT_TAG=$VARIANT_TAG" >> $GITHUB_ENV + echo "VARIANT_TAG_WITH_REF=$VARIANT_TAG_WITH_REF" >> $GITHUB_ENV + echo "VARIANT_TAG_WITH_REF_AND_SHA_SHORT=$VARIANT_TAG_WITH_REF_AND_SHA_SHORT" >> $GITHUB_ENV + + - name: Login to docker registry + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') + run: echo "${DOCKERHUB_REGISTRY_PASSWORD}" | docker login -u "${DOCKERHUB_REGISTRY_USER}" --password-stdin + env: + DOCKERHUB_REGISTRY_USER: ${{ secrets.DOCKERHUB_REGISTRY_USER }} + DOCKERHUB_REGISTRY_PASSWORD: ${{ secrets.DOCKERHUB_REGISTRY_PASSWORD }} + + - name: Build (PRs) + id: docker_build_pr + # Run only on pull requests + if: github.event_name == 'pull_request' + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: false + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Build and push (master) + id: docker_build_master + # Run only on master + if: github.ref == 'refs/heads/master' + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: true + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Build and push (release) + id: docker_build_release + if: startsWith(github.ref, 'refs/tags/') + uses: docker/build-push-action@v3 + with: + context: ${{ env.VARIANT_BUILD_DIR }} + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + push: true + tags: | + ${{ github.repository }}:${{ env.VARIANT_TAG }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF }} + ${{ github.repository }}:${{ env.VARIANT_TAG_WITH_REF_AND_SHA_SHORT }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: List docker images + run: docker images + + - name: Clean-up + run: docker logout + if: always() + build-2-8-0-curl-git-jq-sops-ssh-alpine-3-13: runs-on: ubuntu-latest env: @@ -1525,7 +1903,7 @@ jobs: if: always() update-draft-release: - needs: [build-2-8-0-alpine-3-17, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-17, build-2-8-0-alpine-3-15, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-15, build-2-8-0-alpine-3-13, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-13, build-2-7-0-alpine-3-13, build-2-7-0-curl-git-jq-sops-ssh-alpine-3-13, build-2-8-0-alpine-3-12, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-12, build-2-7-0-alpine-3-12, build-2-7-0-curl-git-jq-sops-ssh-alpine-3-12] + needs: [build-2-8-0-alpine-3-17, build-2-8-0-libvirt-8-alpine-3-17, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-17, build-2-8-0-alpine-3-15, build-2-8-0-libvirt-7-alpine-3-15, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-15, build-2-8-0-alpine-3-13, build-2-8-0-libvirt-6-alpine-3-13, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-13, build-2-7-0-alpine-3-13, build-2-7-0-curl-git-jq-sops-ssh-alpine-3-13, build-2-8-0-alpine-3-12, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-12, build-2-7-0-alpine-3-12, build-2-7-0-curl-git-jq-sops-ssh-alpine-3-12] if: github.ref == 'refs/heads/master' runs-on: ubuntu-latest steps: @@ -1538,7 +1916,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} publish-draft-release: - needs: [build-2-8-0-alpine-3-17, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-17, build-2-8-0-alpine-3-15, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-15, build-2-8-0-alpine-3-13, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-13, build-2-7-0-alpine-3-13, build-2-7-0-curl-git-jq-sops-ssh-alpine-3-13, build-2-8-0-alpine-3-12, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-12, build-2-7-0-alpine-3-12, build-2-7-0-curl-git-jq-sops-ssh-alpine-3-12] + needs: [build-2-8-0-alpine-3-17, build-2-8-0-libvirt-8-alpine-3-17, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-17, build-2-8-0-alpine-3-15, build-2-8-0-libvirt-7-alpine-3-15, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-15, build-2-8-0-alpine-3-13, build-2-8-0-libvirt-6-alpine-3-13, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-13, build-2-7-0-alpine-3-13, build-2-7-0-curl-git-jq-sops-ssh-alpine-3-13, build-2-8-0-alpine-3-12, build-2-8-0-curl-git-jq-sops-ssh-alpine-3-12, build-2-7-0-alpine-3-12, build-2-7-0-curl-git-jq-sops-ssh-alpine-3-12] if: startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest steps: diff --git a/README.md b/README.md index 108f207..7c97048 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,13 @@ Dockerized [`webhook`](https://github.com/adnanh/webhook) with useful tools. | Tag | Dockerfile Build Context | |:-------:|:---------:| | `:2.8.0-alpine-3.17`, `:latest` | [View](variants/2.8.0-alpine-3.17 ) | +| `:2.8.0-libvirt-8-alpine-3.17` | [View](variants/2.8.0-libvirt-8-alpine-3.17 ) | | `:2.8.0-curl-git-jq-sops-ssh-alpine-3.17` | [View](variants/2.8.0-curl-git-jq-sops-ssh-alpine-3.17 ) | | `:2.8.0-alpine-3.15` | [View](variants/2.8.0-alpine-3.15 ) | +| `:2.8.0-libvirt-7-alpine-3.15` | [View](variants/2.8.0-libvirt-7-alpine-3.15 ) | | `:2.8.0-curl-git-jq-sops-ssh-alpine-3.15` | [View](variants/2.8.0-curl-git-jq-sops-ssh-alpine-3.15 ) | | `:2.8.0-alpine-3.13` | [View](variants/2.8.0-alpine-3.13 ) | +| `:2.8.0-libvirt-6-alpine-3.13` | [View](variants/2.8.0-libvirt-6-alpine-3.13 ) | | `:2.8.0-curl-git-jq-sops-ssh-alpine-3.13` | [View](variants/2.8.0-curl-git-jq-sops-ssh-alpine-3.13 ) | | `:2.7.0-alpine-3.13` | [View](variants/2.7.0-alpine-3.13 ) | | `:2.7.0-curl-git-jq-sops-ssh-alpine-3.13` | [View](variants/2.7.0-curl-git-jq-sops-ssh-alpine-3.13 ) | diff --git a/generate/definitions/VARIANTS.ps1 b/generate/definitions/VARIANTS.ps1 index c11fdf5..101dfb6 100644 --- a/generate/definitions/VARIANTS.ps1 +++ b/generate/definitions/VARIANTS.ps1 @@ -8,6 +8,7 @@ $local:VARIANTS_MATRIX = @( distro_version = '3.17' subvariants = @( @{ components = @(); tag_as_latest = $true } + @{ components = @( 'libvirt-8' ) } @{ components = @( 'curl', 'git', 'jq', 'sops', 'ssh' ) } ) } @@ -18,6 +19,7 @@ $local:VARIANTS_MATRIX = @( distro_version = '3.15' subvariants = @( @{ components = @() } + @{ components = @( 'libvirt-7' ) } @{ components = @( 'curl', 'git', 'jq', 'sops', 'ssh' ) } ) } @@ -28,6 +30,7 @@ $local:VARIANTS_MATRIX = @( distro_version = '3.13' subvariants = @( @{ components = @() } + @{ components = @( 'libvirt-6' ) } @{ components = @( 'curl', 'git', 'jq', 'sops', 'ssh' ) } ) } diff --git a/generate/templates/Dockerfile.ps1 b/generate/templates/Dockerfile.ps1 index 4dedd31..999130c 100644 --- a/generate/templates/Dockerfile.ps1 +++ b/generate/templates/Dockerfile.ps1 @@ -37,6 +37,13 @@ RUN apk add --no-cache git @" RUN apk add --no-cache jq +"@ + } + + { $_ -in @('libvirt-8', 'libvirt-7', 'libvirt-6') } { + @" +RUN apk add --no-cache libvirt-client + "@ } diff --git a/variants/2.8.0-libvirt-6-alpine-3.13/Dockerfile b/variants/2.8.0-libvirt-6-alpine-3.13/Dockerfile new file mode 100644 index 0000000..652c61b --- /dev/null +++ b/variants/2.8.0-libvirt-6-alpine-3.13/Dockerfile @@ -0,0 +1,18 @@ +FROM golang:1.17.2-alpine3.14 as builder +ARG TARGETPLATFORM +ARG BUILDPLATFORM +RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" + +RUN apk add --no-cache git \ + && git clone https://github.com/adnanh/webhook.git /src --branch 2.8.0 \ + && cd /src \ + && go build -ldflags="-s -w" -o /usr/local/bin/webhook + +FROM alpine:3.13 +COPY --from=builder /usr/local/bin/webhook /usr/local/bin/webhook +RUN apk add --no-cache ca-certificates +RUN apk add --no-cache libvirt-client +WORKDIR /config +ENTRYPOINT [ "webhook" ] +EXPOSE 9000 +CMD [ "-verbose", "-hooks=/config/hooks.yml", "-hotreload" ] diff --git a/variants/2.8.0-libvirt-7-alpine-3.15/Dockerfile b/variants/2.8.0-libvirt-7-alpine-3.15/Dockerfile new file mode 100644 index 0000000..64b10d9 --- /dev/null +++ b/variants/2.8.0-libvirt-7-alpine-3.15/Dockerfile @@ -0,0 +1,18 @@ +FROM golang:1.17.2-alpine3.14 as builder +ARG TARGETPLATFORM +ARG BUILDPLATFORM +RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" + +RUN apk add --no-cache git \ + && git clone https://github.com/adnanh/webhook.git /src --branch 2.8.0 \ + && cd /src \ + && go build -ldflags="-s -w" -o /usr/local/bin/webhook + +FROM alpine:3.15 +COPY --from=builder /usr/local/bin/webhook /usr/local/bin/webhook +RUN apk add --no-cache ca-certificates +RUN apk add --no-cache libvirt-client +WORKDIR /config +ENTRYPOINT [ "webhook" ] +EXPOSE 9000 +CMD [ "-verbose", "-hooks=/config/hooks.yml", "-hotreload" ] diff --git a/variants/2.8.0-libvirt-8-alpine-3.17/Dockerfile b/variants/2.8.0-libvirt-8-alpine-3.17/Dockerfile new file mode 100644 index 0000000..62e5d79 --- /dev/null +++ b/variants/2.8.0-libvirt-8-alpine-3.17/Dockerfile @@ -0,0 +1,18 @@ +FROM golang:1.17.2-alpine3.14 as builder +ARG TARGETPLATFORM +ARG BUILDPLATFORM +RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" + +RUN apk add --no-cache git \ + && git clone https://github.com/adnanh/webhook.git /src --branch 2.8.0 \ + && cd /src \ + && go build -ldflags="-s -w" -o /usr/local/bin/webhook + +FROM alpine:3.17 +COPY --from=builder /usr/local/bin/webhook /usr/local/bin/webhook +RUN apk add --no-cache ca-certificates +RUN apk add --no-cache libvirt-client +WORKDIR /config +ENTRYPOINT [ "webhook" ] +EXPOSE 9000 +CMD [ "-verbose", "-hooks=/config/hooks.yml", "-hotreload" ]