summaryrefslogtreecommitdiff
path: root/pkg/api
diff options
context:
space:
mode:
authorAditya Rajan <arajan@redhat.com>2021-10-21 16:38:04 +0530
committerAditya Rajan <arajan@redhat.com>2021-10-21 17:44:31 +0530
commitf4f96962c0133726b0aac6352720bde411792c47 (patch)
tree62536554e2945d5fd911908d63f76e657769ea24 /pkg/api
parent4268a4afee4c1d030c1f901398e6a9b3f282eae3 (diff)
downloadpodman-f4f96962c0133726b0aac6352720bde411792c47.tar.gz
podman-f4f96962c0133726b0aac6352720bde411792c47.tar.bz2
podman-f4f96962c0133726b0aac6352720bde411792c47.zip
tag: Support tagging manifest list instead of resolving to images
Following commit makes sure when buildah tag is invoked on a manifest list, it tags the same manifest list instead of resolving to an image and tagging it. Port of: https://github.com/containers/buildah/pull/3483 Signed-off-by: Aditya Rajan <arajan@redhat.com>
Diffstat (limited to 'pkg/api')
-rw-r--r--pkg/api/handlers/compat/images_tag.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/pkg/api/handlers/compat/images_tag.go b/pkg/api/handlers/compat/images_tag.go
index 7858298be..5d413a821 100644
--- a/pkg/api/handlers/compat/images_tag.go
+++ b/pkg/api/handlers/compat/images_tag.go
@@ -4,6 +4,7 @@ import (
"fmt"
"net/http"
+ "github.com/containers/common/libimage"
"github.com/containers/podman/v3/libpod"
"github.com/containers/podman/v3/pkg/api/handlers/utils"
api "github.com/containers/podman/v3/pkg/api/types"
@@ -16,7 +17,9 @@ func TagImage(w http.ResponseWriter, r *http.Request) {
// /v1.xx/images/(name)/tag
name := utils.GetName(r)
- newImage, _, err := runtime.LibimageRuntime().LookupImage(name, nil)
+ // Allow tagging manifest list instead of resolving instances from manifest
+ lookupOptions := &libimage.LookupImageOptions{ManifestList: true}
+ newImage, _, err := runtime.LibimageRuntime().LookupImage(name, lookupOptions)
if err != nil {
utils.ImageNotFound(w, name, errors.Wrapf(err, "failed to find image %s", name))
return