Description
Currently we carry a patch to save the image tags for digests in the tarball, but it's not working OK.
docker.io/library/busybox:latest@sha256:49dae530fd5fee674a6b0d3da89a380fc93746095e7eca0f1b70188a95fd5d71
https://github.com/google/go-containerregistry/blob/v0.3.0/pkg/name/digest.go#L29
--- a/pkg/name/digest.go
+++ b/pkg/name/digest.go
@@ -28,6 +28,7 @@ const (
// Digest stores a digest name in a structured form.
type Digest struct {
Repository
+ tag string
digest string
original string
}
The code still checks the name only (since the preload), and the docker code seems to be broken.
-
https://github.com/kubernetes/minikube/blob/v1.16.0/pkg/minikube/image/image.go#L51
-
https://github.com/kubernetes/minikube/blob/v1.16.0/pkg/minikube/image/image.go#L65
For instance, podman doesn't support it - so the current workaround is to just silently drop it.
Error: invalid image reference "docker.io/library/busybox:latest@sha256:49dae530fd5fee674a6b0d3da89a380fc93746095e7eca0f1b70188a95fd5d71": Docker references with both a tag and digest are currently not supported
We don't really want it anyway, when trying to get away from docker default and towards using CRI.
So it would be good to work with go-containerregistry upstream, and try to drop the current patch...
google/go-containerregistry#703
afbjorklund/go-containerregistry@fbad78e
Minikube is currently using version 0.1.0
https://github.com/google/go-containerregistry/releases/tag/v0.1.0
Upstream has since released version 0.3.0
https://github.com/google/go-containerregistry/releases/tag/v0.3.0