buildpacks / imgutil

Helpful utilities for working with images
Apache License 2.0
24 stars 41 forks source link

Fix locallayout package, make it suitable to replace the local package #256

Closed natalieparellano closed 6 months ago

natalieparellano commented 6 months ago

https://github.com/buildpacks/imgutil/pull/238 introduced a locallayout package with the idea that we would eventually use this package to send an OCI layout-formatted tar to the daemon instead of a legacy tar.

However, as described in https://github.com/buildpacks/imgutil/pull/242#issuecomment-1927692207 this isn't a viable approach for the time being.

This PR updates the locallayout package to remove the noted inefficiency and add support for containerd storage, so that locallayout can replace the local package. This will allow us to simplify our code because local images will be v1 Images.

I ran this with the pack acceptance tests and pack is happy.

natalieparellano commented 6 months ago

This PR currently only speeds up getting the layer size when we download all the layers from the daemon - we need to record the size when layers are added

Edit: this is fixed

natalieparellano commented 6 months ago

@jabrown85 @jjbustamante PTAL - this should reduce our maintenance overhead

natalieparellano commented 6 months ago

I did some performance testing (using large images & layers) comparing the local package in this branch with the local package on main, and they seem equivalent. This should be good to go :)