Move Path interface to docker volume consumer
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