-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Add API for communicating with Docker volume plugins #8357
Add API for communicating with Docker volume plugins #8357
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mheon The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
I'm especially interested from a review from @jwhonce on the HTTP bits. |
@rhatdan will also be interested in this. |
go.mod
Outdated
github.com/containernetworking/cni v0.8.0 | ||
github.com/containernetworking/plugins v0.8.7 | ||
github.com/containers/buildah v1.17.1-0.20201113135631-d0c958d65eb2 | ||
github.com/containers/common v0.27.0 | ||
github.com/containers/conmon v2.0.20+incompatible | ||
github.com/containers/image/v5 v5.8.0 | ||
github.com/containers/libpod v1.9.3 |
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.
Eeek. I don't know how this got in here...
959226d
to
41636d0
Compare
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.
This is using a seperate HTTP Server from current API server. That is not "bad" but it does imply as written:
- people looking at this code need to know this server configuration is not impacted by pkg/api/server,
- this is hard-wiring a unix domain socket on the server while the imported library does allow tcp connections
I also didn't catch where the socket is being created/cleaned up
This is not a server, it is a client. The servers are run by individual plugins; we connect to the plugins via Unix socket and speak their REST API when we want them to perform services for us. The lifecycle of their sockets is external to Podman and is the business of the plugin creator. |
41636d0
to
f16c5ed
Compare
code LGTM once the suggestions are addressed. |
b89eda6
to
c5dc849
Compare
All comments addressed |
@mheon looks like a gofmt issue with |
c5dc849
to
5696d35
Compare
Force-pushed with fix |
@containers/podman-maintainers This is ready |
@mheon I don't think this should go in until we do 3.0. |
Sure, probably a good call. |
Docker provides extensibility through a plugin system, of which several types are available. This provides an initial library API for communicating with one type of plugins, volume plugins. Volume plugins allow for an external service to create and manage a volume on Podman's behalf. This does not integrate the plugin system into Libpod or Podman yet; that will come in subsequent pull requests. Signed-off-by: Matthew Heon <[email protected]>
5696d35
to
594ac4a
Compare
3.0 is landed, this is ready now @containers/podman-maintainers |
/lgtm |
Docker provides extensibility through a plugin system, of which several types are available. This provides an initial library API for communicating with one type of plugins, volume plugins. Volume plugins allow for an external service to create and manage a volume on Podman's behalf.
This does not integrate the plugin system into Libpod or Podman yet; that will come in subsequent pull requests.
This replaces #4548 and will begin the continuation of that work.