-
Notifications
You must be signed in to change notification settings - Fork 139
Remove dependency on github.com/docker/docker #149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Remove dependency on github.com/docker/docker #149
Conversation
Using the lowest version of docker/docker still maintained (23.0 is maintained as LTS version by mirantis) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Update to use the currently maintained version of this dependency, which is also used elsewhere. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
It was only used for basic assertions; replace those with stdlib Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
It was added in 008703b, but none of the functions are exported, and none of them are currently called. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
The volume shim driver was introduced in commit 61113e3. It's supposed to help plugin authors focus on the volume driver API, rather than the plugin API. However, this means the plugins SDK is pulling in github.com/docker/docker. Since moby/moby@04f5276, the Engine's volume package has been moved into the daemon package, and is considered an implementation detail that no one should import. Looking at the use of `NewHandlerFromVolumeDriver` on grep.app, and Sourcegraph, it seems no one is using it. So drop it unceremoniously. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
This makes it possible to import this module into github.com/moby/moby such that we can avoid duplicating Go API types across repos. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR removes the dependency on github.com/docker/docker by dropping the volume shim driver functionality and updating the module dependencies. The shim driver was originally designed to help plugin authors focus on the volume driver API rather than the plugin API, but it introduced an unwanted dependency on Docker Engine internals.
- Completely removes the volume shim driver package (
volume/shim/) - Removes unused systemd socket activation code
- Updates test code to remove external test dependency
- Modernizes build configuration
Reviewed Changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| volume/shim/shim.go | Complete removal of shim driver implementation |
| volume/shim/shim_test.go | Complete removal of shim driver tests |
| sdk/unix_listener_systemd.go | Removes unused systemd socket activation code |
| sdk/unix_listener_nosystemd.go | Removes unused systemd socket activation stub |
| go.mod | Updates module dependencies, removes docker/docker dependency |
| authorization/api_test.go | Replaces testify/require with standard library assertions |
| Makefile | Updates build configuration and dependency installation |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
volume/shim: drop it
The volume shim driver was introduced in commit 61113e3. It's supposed to help plugin authors focus on the volume driver API, rather than the plugin API. However, this means the plugins SDK is pulling in github.com/docker/docker.
Since moby/moby@04f5276, the Engine's volume package has been moved into the daemon package, and is considered an implementation detail that no one should import.
Looking at the use of
NewHandlerFromVolumeDriveron grep.app, and Sourcegraph, it seems no one is using it. So drop it unceremoniously.go.mod: remove dependency on github.com/docker/docker
This makes it possible to import this module into github.com/moby/moby such that we can avoid duplicating Go API types across repos.