2121 release :
2222 outputs :
2323 hashes : ${{ steps.hash.outputs.hashes }}
24+ image_url : ${{ steps.hash.outputs.image_url }}
25+ image_digest : ${{ steps.hash.outputs.image_digest }}
2426 runs-on : ubuntu-latest
2527 permissions :
2628 contents : write # needed to write releases
7274 type=raw,value=${{ steps.prep.outputs.version }}
7375 - name : Docker push
7476 uses : docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 # v4.1.1
77+ id : build-push
7578 with :
7679 sbom : true
7780 provenance : true
@@ -106,8 +109,13 @@ jobs:
106109
107110 hashes=$(echo $ARTIFACTS | jq --raw-output '.[] | {name, "digest": (.extra.Digest // .extra.Checksum)} | select(.digest) | {digest} + {name} | join(" ") | sub("^sha256:";"")' | base64 -w0)
108111 echo "hashes=$hashes" >> $GITHUB_OUTPUT
112+
113+ image_url=fluxcd/${{ env.CONTROLLER }}:${{ steps.prep.outputs.version }}
114+ image_digest=${{ steps.build-push.outputs.digest }}
115+ echo "image_url=$image_url" >> $GITHUB_OUTPUT
116+ echo "image_digest=$image_digest" >> $GITHUB_OUTPUT
109117
110- provenance :
118+ release- provenance :
111119 needs : [release]
112120 permissions :
113121 actions : read # To read the workflow path.
@@ -117,3 +125,31 @@ jobs:
117125 with :
118126 base64-subjects : " ${{ needs.release.outputs.hashes }}"
119127 upload-assets : true
128+
129+ dockerhub-provenance :
130+ needs : [release]
131+ permissions :
132+ actions : read # To read the workflow path.
133+ id-token : write # To sign the provenance.
134+ contents : write # To add assets to the release.
135+ uses :
slsa-framework/slsa-github-generator/.github/workflows/[email protected] 136+ with :
137+ image : ${{ needs.release.outputs.image_url }}
138+ digest : ${{ needs.release.outputs.image_digest }}
139+ registry-username : fluxcdbot
140+ secrets :
141+ registry-password : ${{ secrets.DOCKER_FLUXCD_PASSWORD }}
142+
143+ ghcr-provenance :
144+ needs : [release]
145+ permissions :
146+ actions : read # To read the workflow path.
147+ id-token : write # To sign the provenance.
148+ contents : write # To add assets to the release.
149+ uses :
slsa-framework/slsa-github-generator/.github/workflows/[email protected] 150+ with :
151+ image : ghcr.io/${{ needs.release.outputs.image_url }}
152+ digest : ${{ needs.release.outputs.image_digest }}
153+ registry-username : fluxcdbot
154+ secrets :
155+ registry-password : ${{ secrets.GHCR_TOKEN }}
0 commit comments