-
Notifications
You must be signed in to change notification settings - Fork 0
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
[CI] SLSA3 compliance for build #2
Comments
Follow up for non-containerized releases (e.g. cli): #1 |
We should make sbom and provenance only for prime images. That said, should remove sbom support for Longhorn images. In the future, if AppCo integration is ready, we should not need to do anything for SLSA3 here, as it is enabled by default for the images built by AppCo build flow. @derekbit can help check with AppCo team. Before AppCo is ready, this is a transient task for building prime images and publish them into the prime registry, so paying customers can install Longhorn using these SLSA3 compliant images instead of from longhornio@dockerhub. |
Adding SBOM and provenance flags to the build process will insert additional layers inside the output container image. It would be necessary to branch build logic for community and enterprise versions. Here's the change proposal:
|
Design
VerificationSince the image build actions for components are triggered by tag creation, we use a
Working Items
|
This looks good but I am think complete decoupling between both flow might be even better. Let's discuss this later. @derekbit let's also move this repo to rancher org, it should just name rancher/longhorn? |
Applied and waiting. |
ECM project requires building and publishes container image using existed GH workflow rancher/ecm-distro-tools/actions/publish-image, instead of the vanilla docker/build-push-action that we're using currently. That means, to each component, we need to implement image build logic in Makefile both for community and prime build, then build & publish the image like:
|
Per information from Guidance on achieving SLSA Level 3, it is required to merge the executable binary build logic inside the image creation as an additional layer.
|
Build time stuff should not be persistent in the final component image, as they are not required for runtime. |
Well, every OCI image should include the attestation. |
That's interesting for the design (SLSA L3). However, from the build perspective, image layers are the only way to keep that build info. It's a design but also a tradeoff technically. @COLDTURNIP no worries for my previous comment. It's clarified, go continue your development. |
Is your feature request related to a problem? Please describe (👍 if you like this request)
Introduce SLSA3 to the build process for our managed Longhorn components only. External dependencies not built by us are excluded from this process.
Describe the solution you'd like
Describe alternatives you've considered
Additional context
cc @derekbit
The text was updated successfully, but these errors were encountered: