Merge pull request #491 from Foxboron/morten/fix-docker-env

pkg/auth: Ensure DOCKER_CONFIG refers to config.json
This commit is contained in:
OpenShift Merge Robot 2021-04-08 11:34:09 -04:00 committed by GitHub
commit b30f2cad04
2 changed files with 9 additions and 6 deletions

View File

@ -5,6 +5,7 @@ import (
"context"
"fmt"
"os"
"path/filepath"
"strings"
"github.com/containers/image/v5/docker"
@ -20,11 +21,13 @@ import (
// --authfile path used in multiple --authfile flag definitions
// Will fail over to DOCKER_CONFIG if REGISTRY_AUTH_FILE environment is not set
func GetDefaultAuthFile() string {
authfile := os.Getenv("REGISTRY_AUTH_FILE")
if authfile == "" {
authfile = os.Getenv("DOCKER_CONFIG")
if authfile := os.Getenv("REGISTRY_AUTH_FILE"); authfile != "" {
return authfile
}
return authfile
if auth_env := os.Getenv("DOCKER_CONFIG"); auth_env != "" {
return filepath.Join(auth_env, "config.json")
}
return ""
}
// CheckAuthFile validates filepath given by --authfile

View File

@ -14,7 +14,7 @@ var _ = Describe("Config", func() {
It("validate GetDefaultAuthFile", func() {
// Given
oldDockerConf, envDockerSet := os.LookupEnv("DOCKER_CONFIG")
os.Setenv("DOCKER_CONFIG", "/tmp/docker.file")
os.Setenv("DOCKER_CONFIG", "/tmp")
oldConf, envSet := os.LookupEnv("REGISTRY_AUTH_FILE")
os.Setenv("REGISTRY_AUTH_FILE", "/tmp/registry.file")
// When // When
@ -26,7 +26,7 @@ var _ = Describe("Config", func() {
// Fall back to DOCKER_CONFIG
authFile = GetDefaultAuthFile()
// Then
gomega.Expect(authFile).To(gomega.BeEquivalentTo("/tmp/docker.file"))
gomega.Expect(authFile).To(gomega.BeEquivalentTo("/tmp/config.json"))
os.Unsetenv("DOCKER_CONFIG")
// Fall back to DOCKER_CONFIG