Summary
The e2e test suite's LoadImageToKindClusterWithName fails on Apple Silicon Macs with Docker Desktop's containerd image store enabled. kind load docker-image uses ctr images import --all-platforms --digests which fails with:
ctr: content digest sha256:...: not found
This affects multi-arch images like authbridge-envoy, authbridge, and proxy-init.
Fix applied (not yet submitted)
Added a docker save | docker exec ctr import fallback in test/utils/utils.go between the kind load attempt and the podman fallback. This bypasses the --all-platforms --digests flags that cause the failure.
The fix was validated: 41/41 e2e specs PASSED on Apple Silicon (M-series) with Docker Desktop 29.3.0 + containerd image store + kind v0.31.0.
Patch
// Fallback: docker save piped to ctr import
nodeName := cluster + "-control-plane"
shellCmd := fmt.Sprintf("docker save %s | docker exec -i %s ctr --namespace=k8s.io images import -", name, nodeName)
cmd = exec.Command("sh", "-c", shellCmd)
if _, pipeErr := Run(cmd); pipeErr == nil {
return nil
}
Will submit as a PR if desired.
Environment
- macOS (Apple Silicon / ARM64)
- Docker Desktop 29.3.0 with "Use containerd for pulling and storing images" enabled
- kind v0.31.0
- Multi-arch images from ghcr.io/kagenti/kagenti-extensions
Summary
The e2e test suite's
LoadImageToKindClusterWithNamefails on Apple Silicon Macs with Docker Desktop's containerd image store enabled.kind load docker-imageusesctr images import --all-platforms --digestswhich fails with:This affects multi-arch images like
authbridge-envoy,authbridge, andproxy-init.Fix applied (not yet submitted)
Added a
docker save | docker exec ctr importfallback intest/utils/utils.gobetween thekind loadattempt and the podman fallback. This bypasses the--all-platforms --digestsflags that cause the failure.The fix was validated: 41/41 e2e specs PASSED on Apple Silicon (M-series) with Docker Desktop 29.3.0 + containerd image store + kind v0.31.0.
Patch
Will submit as a PR if desired.
Environment