diff options
author | Jhon Honce <jhonce@redhat.com> | 2020-04-06 16:40:32 -0700 |
---|---|---|
committer | Jhon Honce <jhonce@redhat.com> | 2020-04-07 09:39:46 -0700 |
commit | 8ae28a55acc51a02597b23140916a690fbbdc3fc (patch) | |
tree | 735d876be3204dcd54c7e739083cc706dec83101 /pkg/bindings | |
parent | 44f910c28cae178eab9ad439587355fa4927dab7 (diff) | |
download | podman-8ae28a55acc51a02597b23140916a690fbbdc3fc.tar.gz podman-8ae28a55acc51a02597b23140916a690fbbdc3fc.tar.bz2 podman-8ae28a55acc51a02597b23140916a690fbbdc3fc.zip |
V2 podman diff(changes) support
* Ported CLI command
* Added API endpoint
* Added bindings
* Updated swagger (TODO: n endpoints, one handler)
Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'pkg/bindings')
-rw-r--r-- | pkg/bindings/containers/diff.go | 24 | ||||
-rw-r--r-- | pkg/bindings/images/diff.go | 24 |
2 files changed, 48 insertions, 0 deletions
diff --git a/pkg/bindings/containers/diff.go b/pkg/bindings/containers/diff.go new file mode 100644 index 000000000..82070ca9a --- /dev/null +++ b/pkg/bindings/containers/diff.go @@ -0,0 +1,24 @@ +package containers + +import ( + "context" + "net/http" + + "github.com/containers/libpod/pkg/bindings" + "github.com/containers/storage/pkg/archive" +) + +// Diff provides the changes between two container layers +func Diff(ctx context.Context, nameOrId string) ([]archive.Change, error) { + conn, err := bindings.GetClient(ctx) + if err != nil { + return nil, err + } + + response, err := conn.DoRequest(nil, http.MethodGet, "/containers/%s/changes", nil, nameOrId) + if err != nil { + return nil, err + } + var changes []archive.Change + return changes, response.Process(&changes) +} diff --git a/pkg/bindings/images/diff.go b/pkg/bindings/images/diff.go new file mode 100644 index 000000000..cfdd06a97 --- /dev/null +++ b/pkg/bindings/images/diff.go @@ -0,0 +1,24 @@ +package images + +import ( + "context" + "net/http" + + "github.com/containers/libpod/pkg/bindings" + "github.com/containers/storage/pkg/archive" +) + +// Diff provides the changes between two container layers +func Diff(ctx context.Context, nameOrId string) ([]archive.Change, error) { + conn, err := bindings.GetClient(ctx) + if err != nil { + return nil, err + } + + response, err := conn.DoRequest(nil, http.MethodGet, "/images/%s/changes", nil, nameOrId) + if err != nil { + return nil, err + } + var changes []archive.Change + return changes, response.Process(&changes) +} |