Skip to content
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

Support mutating multi-arch images #710

Open
1 task
binbin-li opened this issue Mar 13, 2023 · 2 comments
Open
1 task

Support mutating multi-arch images #710

binbin-li opened this issue Mar 13, 2023 · 2 comments
Labels
enhancement New feature or request
Milestone

Comments

@binbin-li
Copy link
Collaborator

What would you like to be added?

The current mutating endpoint only supports resolving a tag which applies to a single platform. We probably need to support resolving multi-arch images in the future. There is an API in Oras-go that can do it: https://pkg.go.dev/oras.land/oras-go/[email protected]#Resolve which requires a platform option passed in.

Therefore, Ratify would need to get the platform from the GK external data request.

Anything else you would like to add?

No response

Are you willing to submit PRs to contribute to this feature?

  • Yes, I am willing to implement it.
@binbin-li binbin-li added the enhancement New feature or request label Mar 13, 2023
@akashsinghal
Copy link
Collaborator

Here's an exploration doc I had written explaining the issue and potential solutions. https://hackmd.io/@akashsinghal/r1gOTxOgo

@akashsinghal
Copy link
Collaborator

As you mentioned, implementation wise we would lean on ORAS go to the heavy lifting of the actual manifest selection however we would need to provide the manifest platform to ORAS. Adding a field to the ED request would work however I don't believe there's a good way for Gatekeeper to also provide this information since the Pod spec doesn't have the platform selected during this stage of the resource creation process. The user would somehow have to specify it in the policy. But this is kind of awkward and not flexible.

Maybe we can get away with this option coupled with some smart defaults? Such as assuming by default the platform will match the one that the Ratify Pod is running on and then user has to override this in the policy if otherwsie...

@akashsinghal akashsinghal added this to the Future milestone Apr 19, 2023
@binbin-li binbin-li mentioned this issue Jul 12, 2023
1 task
@binbin-li binbin-li modified the milestones: Future, v1.5.0 Oct 10, 2024
@binbin-li binbin-li modified the milestones: v1.5.0, v2.0.0 Feb 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants