diff options
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/varlinkapi/images.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pkg/varlinkapi/images.go b/pkg/varlinkapi/images.go index 8f8934025..744f031c0 100644 --- a/pkg/varlinkapi/images.go +++ b/pkg/varlinkapi/images.go @@ -47,6 +47,10 @@ func (i *LibpodAPI) ListImages(call iopodman.VarlinkCall) error { } size, _ := image.Size(getContext()) + isParent, err := image.IsParent() + if err != nil { + return call.ReplyErrorOccurred(err.Error()) + } i := iopodman.ImageInList{ Id: image.ID(), @@ -58,6 +62,7 @@ func (i *LibpodAPI) ListImages(call iopodman.VarlinkCall) error { VirtualSize: image.VirtualSize, Containers: int64(len(containers)), Labels: labels, + IsParent: isParent, } imageList = append(imageList, i) } @@ -620,3 +625,21 @@ func (i *LibpodAPI) ContainerRunlabel(call iopodman.VarlinkCall, input iopodman. } return call.ReplyContainerRunlabel() } + +// ImagesPrune .... +func (i *LibpodAPI) ImagesPrune(call iopodman.VarlinkCall) error { + var ( + pruned []string + ) + pruneImages, err := i.Runtime.ImageRuntime().GetPruneImages() + if err != nil { + return err + } + for _, i := range pruneImages { + if err := i.Remove(true); err != nil { + return call.ReplyErrorOccurred(err.Error()) + } + pruned = append(pruned, i.ID()) + } + return call.ReplyImagesPrune(pruned) +} |