-
Notifications
You must be signed in to change notification settings - Fork 261
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
feat(push): allow pushing composed components to registry #2996
base: main
Are you sure you want to change the base?
Conversation
ee371d1
to
9176ca1
Compare
crates/oci/src/client.rs
Outdated
for (dep_name, mut dep) in c.dependencies { | ||
let source = dep | ||
if !skip_compose { | ||
let composed = spin_compose::compose(&ComponentSourceLoader, &c) |
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.
It feels awkward for an assemble_layers
function to contain composition logic.
What would be the tradeoffs of doing composition as e.g. a LockedApp -> LockedApp
transformation invoked after locking, and not touching the (core) OCI code at all? I guess it would force us to create temp files rather than holding compositions only in memory... which is a bit yuck...
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.
Yeah i considered that but ended up abandoning it for "less code"... Happy to revisit if this is too awkward.
895614d
to
2ba49e1
Compare
cc/ @itowlson a simple test is now included. |
Signed-off-by: Brian H <[email protected]>
WIP for now to flesh out the concept.Implements #2988
Still working to add a test but the meat-and-potatoes is ready to serve.