cross-copying docker images
Hi! I have a CI environment where I have access to remote Nix builders of both amd64 and aarch64 varieties and would like to make multi-arch images. Because I have the builders available, I can do any build required, but the aarch64 image demands an aarch64 version of skopeo.
This is inconvenient, as it means I have to run a three build setup -[(build x86), (build aarch64)], and (merge their manifests into a multi-arch image), which adds some latency.
I'm wondering if it'd be possible to modify nix2container to use a platform-native versions of the tools (e.g. skopeo-nix2container, your go cli) but reference an image for a different platform?
Ideally it'd be possible to actually even create a multi-arch image natively, so I don't have to do any manifest rewriting!
Not related to nix2container, but I'm familiar with this problem and have worked around it in a tool that I maintain with a --impure flag for the tooling part feeding in the current system if it's impure. Unfortunately, it's not a minimal implementation that I can point to scoped to the problem, but only an embedded solution. I hope the ideas there might still help find a solution.