summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2018-10-12 07:54:13 -0700
committerGitHub <noreply@github.com>2018-10-12 07:54:13 -0700
commit9a933c70b1cf60c48211bc700d726074aa4536a0 (patch)
tree59b86e95fccb21f26591177747adfcffa6816f85 /cmd
parentda5c89497f9d6ee5cb6e826d7db7cca5686ab4f7 (diff)
parent88673a5fcfcedb3ab3f1039a46b3eba912f35e5c (diff)
downloadpodman-9a933c70b1cf60c48211bc700d726074aa4536a0.tar.gz
podman-9a933c70b1cf60c48211bc700d726074aa4536a0.tar.bz2
podman-9a933c70b1cf60c48211bc700d726074aa4536a0.zip
Merge pull request #1611 from QiWang19/issue1340
Support auth file environment variable in related podman commands & add change to man pages
Diffstat (limited to 'cmd')
-rw-r--r--cmd/podman/common.go7
-rw-r--r--cmd/podman/login.go5
-rw-r--r--cmd/podman/logout.go5
-rw-r--r--cmd/podman/pull.go5
-rw-r--r--cmd/podman/push.go6
-rw-r--r--cmd/podman/runlabel.go5
-rw-r--r--cmd/podman/search.go4
7 files changed, 25 insertions, 12 deletions
diff --git a/cmd/podman/common.go b/cmd/podman/common.go
index 1e7f8d4d8..e342659ed 100644
--- a/cmd/podman/common.go
+++ b/cmd/podman/common.go
@@ -458,3 +458,10 @@ func sortFlags(flags []cli.Flag) []cli.Flag {
})
return flags
}
+
+func getAuthFile(authfile string) string {
+ if authfile != "" {
+ return authfile
+ }
+ return os.Getenv("REGISTRY_AUTH_FILE")
+}
diff --git a/cmd/podman/login.go b/cmd/podman/login.go
index 8625828de..76f0f50ff 100644
--- a/cmd/podman/login.go
+++ b/cmd/podman/login.go
@@ -27,7 +27,7 @@ var (
},
cli.StringFlag{
Name: "authfile",
- Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json",
+ Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override. ",
},
cli.StringFlag{
Name: "cert-dir",
@@ -64,8 +64,9 @@ func loginCmd(c *cli.Context) error {
if len(args) == 1 {
server = args[0]
}
+ authfile := getAuthFile(c.String("authfile"))
- sc := common.GetSystemContext("", c.String("authfile"), false)
+ sc := common.GetSystemContext("", authfile, false)
// username of user logged in to server (if one exists)
userFromAuthFile, err := config.GetUserLoggedIn(sc, server)
diff --git a/cmd/podman/logout.go b/cmd/podman/logout.go
index d2a2da790..099464e4f 100644
--- a/cmd/podman/logout.go
+++ b/cmd/podman/logout.go
@@ -13,7 +13,7 @@ var (
logoutFlags = []cli.Flag{
cli.StringFlag{
Name: "authfile",
- Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json",
+ Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override. ",
},
cli.BoolFlag{
Name: "all, a",
@@ -46,8 +46,9 @@ func logoutCmd(c *cli.Context) error {
if len(args) == 1 {
server = args[0]
}
+ authfile := getAuthFile(c.String("authfile"))
- sc := common.GetSystemContext("", c.String("authfile"), false)
+ sc := common.GetSystemContext("", authfile, false)
if c.Bool("all") {
if err := config.RemoveAllAuthentication(sc); err != nil {
diff --git a/cmd/podman/pull.go b/cmd/podman/pull.go
index 097c88536..8fb3971bd 100644
--- a/cmd/podman/pull.go
+++ b/cmd/podman/pull.go
@@ -21,7 +21,7 @@ var (
pullFlags = []cli.Flag{
cli.StringFlag{
Name: "authfile",
- Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json",
+ Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override. ",
},
cli.StringFlag{
Name: "cert-dir",
@@ -124,7 +124,8 @@ func pullCmd(c *cli.Context) error {
}
imgID = newImage[0].ID()
} else {
- newImage, err := runtime.ImageRuntime().New(getContext(), image, c.String("signature-policy"), c.String("authfile"), writer, &dockerRegistryOptions, image2.SigningOptions{}, true, forceSecure)
+ authfile := getAuthFile(c.String("authfile"))
+ newImage, err := runtime.ImageRuntime().New(getContext(), image, c.String("signature-policy"), authfile, writer, &dockerRegistryOptions, image2.SigningOptions{}, true, forceSecure)
if err != nil {
return errors.Wrapf(err, "error pulling image %q", image)
}
diff --git a/cmd/podman/push.go b/cmd/podman/push.go
index 9f2f41835..331f92cd2 100644
--- a/cmd/podman/push.go
+++ b/cmd/podman/push.go
@@ -58,7 +58,7 @@ var (
},
cli.StringFlag{
Name: "authfile",
- Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json",
+ Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override. ",
},
}
pushDescription = fmt.Sprintf(`
@@ -165,5 +165,7 @@ func pushCmd(c *cli.Context) error {
return err
}
- return newImage.PushImageToHeuristicDestination(getContext(), destName, manifestType, c.String("authfile"), c.String("signature-policy"), writer, c.Bool("compress"), so, &dockerRegistryOptions, forceSecure, nil)
+ authfile := getAuthFile(c.String("authfile"))
+
+ return newImage.PushImageToHeuristicDestination(getContext(), destName, manifestType, authfile, c.String("signature-policy"), writer, c.Bool("compress"), so, &dockerRegistryOptions, forceSecure, nil)
}
diff --git a/cmd/podman/runlabel.go b/cmd/podman/runlabel.go
index 2d464b949..aa7411a5f 100644
--- a/cmd/podman/runlabel.go
+++ b/cmd/podman/runlabel.go
@@ -21,7 +21,7 @@ var (
runlabelFlags = []cli.Flag{
cli.StringFlag{
Name: "authfile",
- Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json",
+ Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override. ",
},
cli.BoolFlag{
Name: "display",
@@ -165,8 +165,9 @@ func runlabelCmd(c *cli.Context) error {
DockerCertPath: c.String("cert-dir"),
DockerInsecureSkipTLSVerify: !c.BoolT("tls-verify"),
}
+ authfile := getAuthFile(c.String("authfile"))
- newImage, err = runtime.ImageRuntime().New(ctx, runlabelImage, c.String("signature-policy"), c.String("authfile"), stdOut, &dockerRegistryOptions, image.SigningOptions{}, false, false)
+ newImage, err = runtime.ImageRuntime().New(ctx, runlabelImage, c.String("signature-policy"), authfile, stdOut, &dockerRegistryOptions, image.SigningOptions{}, false, false)
} else {
newImage, err = runtime.ImageRuntime().NewFromLocal(runlabelImage)
}
diff --git a/cmd/podman/search.go b/cmd/podman/search.go
index 49b1b7f7b..fa11dad32 100644
--- a/cmd/podman/search.go
+++ b/cmd/podman/search.go
@@ -25,7 +25,7 @@ var (
searchFlags = []cli.Flag{
cli.StringFlag{
Name: "authfile",
- Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json",
+ Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override. ",
},
cli.StringSliceFlag{
Name: "filter, f",
@@ -114,7 +114,7 @@ func searchCmd(c *cli.Context) error {
noTrunc: c.Bool("no-trunc"),
limit: c.Int("limit"),
filter: c.StringSlice("filter"),
- authfile: c.String("authfile"),
+ authfile: getAuthFile(c.String("authfile")),
}
regAndSkipTLS, err := getRegistriesAndSkipTLS(c, registry)
if err != nil {