Skip to content

Conversation

@akerouanton
Copy link
Member

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 NewHandlerFromVolumeDriver on 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.

thaJeztah and others added 6 commits July 1, 2024 09:17
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>
@akerouanton akerouanton requested a review from Copilot August 13, 2025 16:51
@akerouanton akerouanton self-assigned this Aug 13, 2025
Copy link

Copilot AI left a 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants