| ▲ | bmitch3020 6 hours ago | |
> The current recommendation is rules_oci, which takes the opposite approach: use only off‑the‑shelf tools... I'm the author of one of those off the shelf tools, and the rules_oci decision here always struck me as a bit unusual. OCI is a relatively easy spec with a number of libraries that implement it. Instead of creating a custom build command that leveraged those libraries to be an efficient build tool, they found commands that could be leveraged even if image building wasn't their design. It looks like rules_img is taking that other path with their own build command based on the go-containerregistry library. I wish them all the best with their effort. That said, if all you need to do is add a layer to an existing base, there are tools like crane [0] and regctl [1] that do that today. The reason other build tools typically pull the base image first is to support "RUN" build steps that execute a command inside of a container and store the filesystem changes in a new layer. If that functionality is ever added to rules_img, I expect it to have the same performance as other build tools. [0]: https://github.com/google/go-containerregistry/blob/main/cmd... | ||