Update github.com/docker/docker to v28.2.2#65
Conversation
Kimchi Code Review
Summary📊 Review Score: 82/100 (overall code quality — 0 lowest, 100 highest) 🧪 Tests: no — No tests were added or modified for the ImageSave signature adaptation, the container.Config to DockerOCIImageConfig migration, or the ExposedPorts mapping fix. A dependency bump of this magnitude warrants test coverage for image config translation. 📝 Found 3 issue(s). See inline comments for details. What to expectKimchi will analyze the changes in this pull request and post:
The review typically completes within a few minutes. This comment will be updated once the review is ready. Interact with Kimchi
ConfigurationReviews are configured by your organization admin. Powered by Kimchi — AI-powered code review by CAST AI |
There was a problem hiding this comment.
📊 Review Score: 82/100 (overall code quality — 0 lowest, 100 highest)
⏱️ Estimated effort to review: 3/5 (1 = trivial, 5 = very complex)
🧪 Tests: no — No tests were added or modified for the ImageSave signature adaptation, the container.Config to DockerOCIImageConfig migration, or the ExposedPorts mapping fix. A dependency bump of this magnitude warrants test coverage for image config translation.
📝 Found 3 issue(s). See inline comments for details.
Attempt to update the dependency. It includes some breaking API changes.
Kimchi Summary
What changed
Updates core dependencies including Docker client to v28 and Trivy to v0.64.0, and refactors image config handling to align with Docker's new OCI image spec types.
Why
Docker v28 relocated image configuration types out of the main API package and changed the
ImageSavesignature, requiring code changes to maintain compatibility.Key changes
go.mod: bumpsgithub.qkg1.top/docker/dockertov28.2.2,github.com/aquasecurity/trivytov0.64.0,github.com/google/go-containerregistrytov0.20.6, and refreshes numerous transitive dependenciesimage/daemon/containerd.go: replacescontainer.Configwithdockerspec.DockerOCIImageConfigfromgithub.qkg1.top/moby/docker-image-spec; removesnat.PortSettranslation for exposed portsimage/daemon/image.go: updatesimageConfigto map fromdockerspec.DockerOCIImageConfigtov1.Config, adapting fields such asExposedPorts,OnBuild, andArgsEscapedimage/daemon/docker.go: wrapsc.ImageSaveto strip new variadic options and match the expectedfunc(context.Context, []string) (io.ReadCloser, error)signatureImpact
This change adapts to Docker v28 breaking API changes. The
ImageSavecall and image inspect structures now use adapter logic to bridge the new Docker OCI spec types. No end-user behavior changes are expected.