-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New SBOM generation process #487
Conversation
Use syft to produce bill or materials of the container image and the application itself. Ensure each architecture-specific build has its own SBOM, signed and attached to the specific image. Also, attach to the GH release the SBOM of each container image being built. Prior to this commit the SBOM was only generated for the x86_64 platform and was attached to the multi-architecture container image index manifest. Signed-off-by: Flavio Castelli <[email protected]>
@viccuad iterating over the controller was faster than doing that against policy-server. Once merged I'll propagate these changes made to the GH workflows to the new build proposal I created against the policy-server repo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, I like it! Quite an improvement!
'kubewarden-controller-sbom-arm64.spdx', | ||
'kubewarden-controller-sbom-arm64.spdx.cert', | ||
'kubewarden-controller-sbom-arm64.spdx.sig', | ||
"CRDS.tar.gz"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(opening thread here randomly)
Unrelated to this PR, but,
What happens if the release fails on triggering the helm-charts repo?
We can retrigger the job, without rebuilding and overwriting the release, correct?
I wouldn't like to release something and later overwrite the same release version with different artifacts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could try to rerun only the failed job, that's an option. Otherwise I fear we will have to either manually create the PR that updates the helm chart or tag a new patch release
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy just re-triggering the job that is in your fork as it is, to see what happens.
Signed-off-by: Flavio Castelli <[email protected]>
@viccuad please take a look at the last commit I just pushed. It addresses your feedback, plus it brings back image signing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for the changes!
Use syft to produce bill or materials of the container image contents and the application itself.
Ensure each architecture-specific build has its own SBOM, signed and attached to the specific image.
Also, attach to the GH release the SBOM of each container image being built.
GH actions
A preview of the results produced by the this new approach can be found here:
main
: GH run. The run now has asbom
artifact, this contains the spdx files and all their signaturesContainer images
Prior to this commit the SBOM was only generated for the x86_64 platform and was attached to the multi-architecture container image index manifest.
Prior to this change the SBOM was attached to the image index manifest:
After this PR the SBOM is no longer attached to the image index:
Instead, they are attached to the actual container images.
This is the amd64 SBOM:
While this one is the arm64 one: