summaryrefslogtreecommitdiff
path: root/pkg/domain
diff options
context:
space:
mode:
authormaybe-sybr <58414429+maybe-sybr@users.noreply.github.com>2020-06-24 11:16:59 +1000
committermaybe-sybr <58414429+maybe-sybr@users.noreply.github.com>2020-07-02 16:33:19 +1000
commitcb61a2d858d7874c66bafcf6d17c17bb9d7849e8 (patch)
tree7ddb797d86b6e231333c559103291abb3743c6d6 /pkg/domain
parente84695213e35c22ba085e3831cbd025cd55a4c84 (diff)
downloadpodman-cb61a2d858d7874c66bafcf6d17c17bb9d7849e8.tar.gz
podman-cb61a2d858d7874c66bafcf6d17c17bb9d7849e8.tar.bz2
podman-cb61a2d858d7874c66bafcf6d17c17bb9d7849e8.zip
APIv2: Add docker compatible volume endpoints
This change implements docker compatibile endpoint for interacting with volumes. The code is mostly lifted from the `libpod` API handlers but decodes and constructs data using types defined in the docker API package. Some notable support caveats with the current implementation: * we don't return the nullable `Status` or `UsageData` keys when returning volume information for inspect and create endpoints * we don't support filters when pruning * we return a fixed `0` for the `SpaceReclaimed` key when pruning since we have no insight into how much space was freed from runtime Signed-off-by: Matt Brindley <58414429+maybe-sybr@users.noreply.github.com>
Diffstat (limited to 'pkg/domain')
-rw-r--r--pkg/domain/entities/volumes.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/pkg/domain/entities/volumes.go b/pkg/domain/entities/volumes.go
index c99b39f2d..2311d1f25 100644
--- a/pkg/domain/entities/volumes.go
+++ b/pkg/domain/entities/volumes.go
@@ -2,6 +2,9 @@ package entities
import (
"time"
+
+ docker_api_types "github.com/docker/docker/api/types"
+ docker_api_types_volume "github.com/docker/docker/api/types/volume"
)
// swagger:model VolumeCreate
@@ -90,3 +93,35 @@ type VolumeListOptions struct {
type VolumeListReport struct {
VolumeConfigResponse
}
+
+/*
+ * Docker API compatibility types
+ */
+// swagger:response DockerVolumeList
+type SwagDockerVolumeListResponse struct {
+ // in:body
+ Body struct {
+ docker_api_types_volume.VolumeListOKBody
+ }
+}
+
+// swagger:model DockerVolumeCreate
+type DockerVolumeCreate docker_api_types_volume.VolumeCreateBody
+
+// This response definition is used for both the create and inspect endpoints
+// swagger:response DockerVolumeInfoResponse
+type SwagDockerVolumeInfoResponse struct {
+ // in:body
+ Body struct {
+ docker_api_types.Volume
+ }
+}
+
+// Volume prune response
+// swagger:response DockerVolumePruneResponse
+type SwagDockerVolumePruneResponse struct {
+ // in:body
+ Body struct {
+ docker_api_types.VolumesPruneReport
+ }
+}