mirror of
https://github.com/containers/skopeo.git
synced 2025-08-31 14:20:21 +00:00
Allow inspect to work even if tag list blocked
Some registries may choose to block the "list all tags" endpoint for performance or other reasons. In this case we should still allow an inspect which will not include the "tag list" in the output. Signed-off-by: Phil Estes <estesp@gmail.com>
This commit is contained in:
@@ -3,8 +3,10 @@ package main
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/Sirupsen/logrus"
|
||||
"github.com/containers/image/docker"
|
||||
"github.com/containers/image/manifest"
|
||||
"github.com/opencontainers/go-digest"
|
||||
@@ -97,7 +99,13 @@ var inspectCmd = cli.Command{
|
||||
outputData.Name = dockerImg.SourceRefFullName()
|
||||
outputData.RepoTags, err = dockerImg.GetRepositoryTags()
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error determining repository tags: %v", err)
|
||||
// some registries may decide to block the "list all tags" endpoint
|
||||
// gracefully allow the inspect to continue in this case. Currently
|
||||
// the IBM Bluemix container registry has this restriction.
|
||||
if !strings.Contains(err.Error(), "401") {
|
||||
return fmt.Errorf("Error determining repository tags: %v", err)
|
||||
}
|
||||
logrus.Warnf("Registry disallows tag list retrieval; skipping")
|
||||
}
|
||||
}
|
||||
out, err := json.MarshalIndent(outputData, "", " ")
|
||||
|
Reference in New Issue
Block a user