Merge pull request #388 from rhatdan/seccomp1
Add support for DOCKER_CONFIG
This commit is contained in:
commit
57e9c853aa
|
|
@ -16,10 +16,17 @@ import (
|
|||
"golang.org/x/crypto/ssh/terminal"
|
||||
)
|
||||
|
||||
// GetDefaultAuthFile returns env value REGISTRY_AUTH_FILE as default --authfile path
|
||||
// used in multiple --authfile flag definitions
|
||||
// GetDefaultAuthFile returns env value REGISTRY_AUTH_FILE as default
|
||||
// --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 {
|
||||
return os.Getenv("REGISTRY_AUTH_FILE")
|
||||
authfile := os.Getenv("REGISTRY_AUTH_FILE")
|
||||
if authfile == "" {
|
||||
if authfile, ok := os.LookupEnv("DOCKER_CONFIG"); ok {
|
||||
logrus.Infof("Using DOCKER_CONFIG environment variable for authfile path %s", authfile)
|
||||
}
|
||||
}
|
||||
return authfile
|
||||
}
|
||||
|
||||
// CheckAuthFile validates filepath given by --authfile
|
||||
|
|
|
|||
|
|
@ -0,0 +1,65 @@
|
|||
package auth
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
"github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("Config", func() {
|
||||
|
||||
Describe("ValidateAuth", func() {
|
||||
It("validate GetDefaultAuthFile", func() {
|
||||
// Given
|
||||
oldDockerConf, envDockerSet := os.LookupEnv("DOCKER_CONFIG")
|
||||
os.Setenv("DOCKER_CONFIG", "/tmp/docker.file")
|
||||
oldConf, envSet := os.LookupEnv("REGISTRY_AUTH_FILE")
|
||||
os.Setenv("REGISTRY_AUTH_FILE", "/tmp/registry.file")
|
||||
// When // When
|
||||
authFile := GetDefaultAuthFile()
|
||||
// Then
|
||||
gomega.Expect(authFile).To(gomega.BeEquivalentTo("/tmp/registry.file"))
|
||||
os.Unsetenv("REGISTRY_AUTH_FILE")
|
||||
|
||||
// Fall back to DOCKER_CONFIG
|
||||
authFile = GetDefaultAuthFile()
|
||||
// Then
|
||||
gomega.Expect(authFile).To(gomega.BeEquivalentTo("/tmp/docker.file"))
|
||||
os.Unsetenv("DOCKER_CONFIG")
|
||||
|
||||
// Fall back to DOCKER_CONFIG
|
||||
authFile = GetDefaultAuthFile()
|
||||
// Then
|
||||
gomega.Expect(authFile).To(gomega.BeEquivalentTo(""))
|
||||
|
||||
// Undo that
|
||||
if envSet {
|
||||
os.Setenv("REGISTRY_AUTH_FILE", oldConf)
|
||||
}
|
||||
if envDockerSet {
|
||||
os.Setenv("DOCKER_CONFIG", oldDockerConf)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
It("validate CheckAuthFile", func() {
|
||||
// When // When
|
||||
err := CheckAuthFile("")
|
||||
// Then
|
||||
gomega.Expect(err).To(gomega.BeNil())
|
||||
|
||||
conf, _ := ioutil.TempFile("", "authfile")
|
||||
defer os.Remove(conf.Name())
|
||||
// When // When
|
||||
err = CheckAuthFile(conf.Name())
|
||||
// Then
|
||||
gomega.Expect(err).To(gomega.BeNil())
|
||||
|
||||
// When // When
|
||||
err = CheckAuthFile(conf.Name() + "missing")
|
||||
// Then
|
||||
gomega.Expect(err).ShouldNot(gomega.BeNil())
|
||||
})
|
||||
})
|
||||
Loading…
Reference in New Issue