containerd / accelerated-container-image

A production-ready remote container image format (overlaybd) and snapshotter based on block-device.
Apache License 2.0
405 stars 73 forks source link

[Userspace Convertor] Mount or avoid reconverting previously Converted Manifests #249

Closed estebanreyl closed 7 months ago

estebanreyl commented 9 months ago

What is the version of your Accelerated Container Image

v1.0.2

What would you like to be added?

Similar to layer deduplication, we want to avoid converting images that have already been converted by providing a storage mechanism to keep track of converted images in a database.

Why is this needed for Accelerated Container Image?

This is envisioned for users of the user space convertor that require a more autonomous conversion setup. We have encountered that its common to try to convert the same image more than once across a few scenarios, for example when an image needs to be present across multiple repositories or when an image is first pushed as a submanifest of a subsequently pushed manifest list. The existing layer deduplication setup will improve conversion for most of these scenarios but still carries with it a substantial cost of downloading the converted layers, rather than just carrying out a mount or avoiding reconversion altogether.

We already have an implementation around this that we have been experimenting with and will open a PR here if there is interest.

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