diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 4d2747946..722b920cb 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -135,27 +135,18 @@ jobs: egress-policy: block allowed-endpoints: > api.github.com:443 - auth.docker.io:443 - dl-cdn.alpinelinux.org:443 - github.com:443 - index.docker.io:443 - objects.githubusercontent.com:443 - fulcio.sigstore.dev:443 - tuf-repo-cdn.sigstore.dev:443 - rekor.sigstore.dev:443 - production.cloudflare.docker.com:443 - registry-1.docker.io:443 - yum.oracle.com:443 archive.ubuntu.com:80 - ports.ubuntu.com:80 - security.ubuntu.com:80 - quay.io:443 + auth.docker.io:443 cdn03.quay.io:443 centos-stream-distro.1gservers.com:443 centos-stream-distro.1gservers.com:80 + dl-cdn.alpinelinux.org:443 ftp-nyc.osuosl.org:80 ftp-osl.osuosl.org:80 ftpmirror.your.org:80 + fulcio.sigstore.dev:443 + github.com:443 + index.docker.io:443 mirror.dogado.de:443 mirror.dogado.de:80 mirror.netzwerge.de:443 @@ -171,6 +162,15 @@ jobs: mirrors.iu13.net:80 mirrors.ocf.berkeley.edu:443 mirrors.xtom.de:80 + objects.githubusercontent.com:443 + ports.ubuntu.com:80 + production.cloudflare.docker.com:443 + quay.io:443 + registry-1.docker.io:443 + rekor.sigstore.dev:443 + security.ubuntu.com:80 + tuf-repo-cdn.sigstore.dev:443 + yum.oracle.com:443 - name: Checkout repository uses: actions/checkout@v4 @@ -277,17 +277,43 @@ jobs: runs-on: ubuntu-latest permissions: contents: read + id-token: write steps: - name: Block egress traffic uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 with: - egress-policy: audit + disable-sudo: true + egress-policy: block + allowed-endpoints: > + api.github.com:443 + auth.docker.io:443 + git.zabbix.com:443 + github.com:443 + go.googlesource.com:443 + go.mongodb.org:443 + golang.org:443 + google.golang.org:443 + gopkg.in:443 + index.docker.io:443 + noto-website.storage.googleapis.com:443 + production.cloudflare.docker.com:443 + proxy.golang.org:443 + registry-1.docker.io:443 + storage.googleapis.com:443 - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 1 + - name: Install cosign + uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 + with: + cosign-release: 'v2.2.3' + + - name: Check cosign version + run: cosign version + - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: @@ -359,6 +385,17 @@ jobs: cache-from: type=gha cache-to: type=gha,mode=max + - name: Sign the images with GitHub OIDC Token + env: + DIGEST: ${{ steps.docker_build.outputs.digest }} + TAGS: ${{ steps.meta.outputs.tags }} + run: | + images="" + for tag in ${TAGS}; do + images+="${tag}@${DIGEST} " + done + cosign sign --yes ${images} + - name: Image digest run: | echo ${{ steps.docker_build.outputs.digest }}