-
Notifications
You must be signed in to change notification settings - Fork 44
add skip_upload capability to contract
#2528
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
Conversation
Signed-off-by: Jeff Rescignano <jeffr@defenseunicorns.com>
282c7ae to
9cdbdbe
Compare
jiparis
left a comment
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.
Thanks, just a comment in the proto definition
Signed-off-by: Jeff Rescignano <jeff@jeffresc.dev>
Signed-off-by: Jeff Rescignano <jeff@jeffresc.dev>
migmartri
left a comment
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 in general.
My only comment would be if you could add a testCase in at least one of the material types (i.e TestSARIFCraft) we have today to make sure this new path is covered?
Signed-off-by: Jeff Rescignano <jeffr@defenseunicorns.com>
Yep, just added one for SARIF and CycloneDX |
|
LGTM! |
Description
This PR introduces the ability to control whether materials are uploaded to CAS directly from workflow contracts. This is useful for scenarios where artifacts are large and already stored elsewhere, or when you only need to attest to their existence without storing them.
Contracts can now specify
skip_upload: trueon individual materials to skip uploading them to CAS while still recording their metadata (digest and filename) in the attestation.Example Usage
Features
Contract-controlled: Platform administrators define upload behavior in contracts
Metadata preservation: Even when upload is skipped, digest and filename are recorded in attestations
Backward compatible: Defaults to false (upload enabled) - existing contracts work unchanged
Flexible: Can be set per-material, allowing fine-grained control within a single workflow
Use Cases
Technical Details
skip_uploadboolean field to Material proto definitionUploadedToCas = falseand only metadata is capturedCONTAINER_IMAGEandSTRINGtypes remain unaffected (they never upload to CAS)Related Issues
Resolves #2522