Skip to content

Move Path interface to docker volume consumer

Arran Walker requested to merge ajwalker/move-path-impl-to-consumer into main

What does this MR do?

Moves helper/path's Path interface to where it's currently consumed, by the Docker volume functionality.

In the near future, the intention is to add another Path implementation that adds Windows-style path support, but from unix based hosts, intended to only be used by the Docker volume functionality.

Why was this MR needed?

Right now, this interface belongs to the helper/path's package. This makes it look generic for path operations.

The Docker volume functionality requires a certain subset of Path operations. Its interface is not generic, but very specific path operations.

The interface is effectively in the wrong location. In the helper/path package it offers nothing, but on the consumer side, it describes exactly what the consumer requires and hints to the developer that not any path operation can be used (even if supported by the concrete implementation).

https://github.com/golang/go/wiki/CodeReviewComments#interfaces

What's the best way to test this MR?

N/A

What are the relevant issue numbers?

#28924 (closed)

Edited by Arran Walker

Merge request reports