chore!: update to moby 29.0.0 api/client#116
Conversation
631150b to
6df128d
Compare
35c1508 to
2ddfe33
Compare
e4176eb to
efb8183
Compare
90f0b7d to
c63bfb3
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR updates the codebase to use Moby's new Docker 29.0.0 API/client modules. The changes involve migrating from the legacy github.com/docker/docker client/API packages to the new modular github.com/moby/moby/api and github.com/moby/moby/client structure introduced in Docker 29.0.0, addressing numerous breaking changes in the API surface.
Key changes:
- Replaced
github.com/docker/docker/api/types/*imports withgithub.com/moby/moby/api/types/* - Replaced
github.com/docker/docker/clientwithgithub.com/moby/moby/client - Updated API method signatures to use new request/response types (e.g.,
ContainerCreateOptions,ImagePullResponse) - Migrated network port handling from
nat.Porttonetwork.Port - Updated Go version to
1.24.0across modules
Reviewed Changes
Copilot reviewed 113 out of 121 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| volume/* | Updated volume operations to use new moby client types and filter API |
| network/* | Migrated network types and operations, including port/IPAM config handling |
| image/* | Updated image build/pull/remove operations with new client types and response structures |
| container/* | Comprehensive updates to container operations, port mappings, and network handling |
| client/* | Core client wrapper updates to interface with new moby client API |
| config/* | Updated auth config types to use moby registry types |
| legacyadapters/* | Updated adapter layer for backward compatibility |
| */go.mod | Updated dependencies and Go version across all modules |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e727dde to
958b41e
Compare
|
Moved back to draft - there's a delay getting DD updated, so breaking changes here will prevent Go-SDK updates in there. |
0fcc175 to
3670394
Compare
3670394 to
f824d01
Compare
|
I've marked the Pinata PR as ready for review, which depends on this one. But, once this PR is merged, it won't be possible to vendor a Go-SDK into Pinata until its PR is merged too.
|
mdelapenya
left a comment
There was a problem hiding this comment.
LGTM, thank you for contributing this. Great work! 🙇
I left just one comment regarding a preference on using require Vs assert.
New Go modules with lots of breaking changes: - moby/moby/api 1.52.0 - moby/moby/client 0.1.0 Signed-off-by: Rob Murray <rob.murray@docker.com>
f824d01 to
1c74f2c
Compare
What does this PR do?
Docker 29.0.0 replaces its old client/api code with new Go modules, making a lot of breaking changes:
Why is it important?
Related issues