Vendor in latest containers/image

Fixes podman pull to pull a public image even if $XDG_RUNTIME_DIR
does not exist for authentication. Public images don't require credentials
to access.

Signed-off-by: umohnani8 <umohnani@redhat.com>

Closes: #701
Approved by: rhatdan
This commit is contained in:
umohnani8
2018-04-30 14:25:15 -04:00
committed by Atomic Bot
parent d5d6e68592
commit 52ace66e76
2 changed files with 12 additions and 5 deletions

View File

@ -15,6 +15,7 @@ import (
"github.com/docker/docker-credential-helpers/credentials"
"github.com/docker/docker/pkg/homedir"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
)
type dockerAuthConfig struct {
@ -64,11 +65,17 @@ func GetAuthentication(sys *types.SystemContext, registry string) (string, strin
}
dockerLegacyPath := filepath.Join(homedir.Get(), dockerLegacyCfg)
var paths []string
pathToAuth, err := getPathToAuth(sys)
if err != nil {
return "", "", err
if err == nil {
paths = append(paths, pathToAuth)
} else {
// Error means that the path set for XDG_RUNTIME_DIR does not exist
// but we don't want to completely fail in the case that the user is pulling a public image
// Logging the error as a warning instead and moving on to pulling the image
logrus.Warnf("%v: Trying to pull image in the event that it is a public image.", err)
}
paths := [3]string{pathToAuth, filepath.Join(homedir.Get(), dockerCfg, dockerCfgFileName), dockerLegacyPath}
paths = append(paths, filepath.Join(homedir.Get(), dockerCfg, dockerCfgFileName), dockerLegacyPath)
for _, path := range paths {
legacyFormat := path == dockerLegacyPath