Use GetRuntimeDir to setup auth.json for login

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
Daniel J Walsh 2019-08-12 14:11:53 -04:00
parent 9bee6907a5
commit d27e71374e
No known key found for this signature in database
GPG Key ID: A2DF901DABE2C028
8 changed files with 26 additions and 24 deletions

View File

@ -6,6 +6,7 @@ import (
"path/filepath" "path/filepath"
"strings" "strings"
"github.com/containers/libpod/pkg/util"
"github.com/google/shlex" "github.com/google/shlex"
) )
@ -13,13 +14,14 @@ func GetAuthFile(authfile string) string {
if authfile != "" { if authfile != "" {
return authfile return authfile
} }
authfile = os.Getenv("REGISTRY_AUTH_FILE") authfile = os.Getenv("REGISTRY_AUTH_FILE")
if authfile != "" { if authfile != "" {
return authfile return authfile
} }
runtimeDir := os.Getenv("XDG_RUNTIME_DIR")
if runtimeDir != "" { if runtimeDir, err := util.GetRuntimeDir(); err == nil {
return filepath.Join(runtimeDir, "containers/auth.json") return filepath.Join(runtimeDir, "auth.json")
} }
return "" return ""
} }

View File

@ -53,7 +53,7 @@ func init() {
func varlinkCmd(c *cliconfig.VarlinkValues) error { func varlinkCmd(c *cliconfig.VarlinkValues) error {
varlinkURI := adapter.DefaultAddress varlinkURI := adapter.DefaultAddress
if rootless.IsRootless() { if rootless.IsRootless() {
xdg, err := util.GetRootlessRuntimeDir() xdg, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }

View File

@ -211,7 +211,7 @@ func bindPorts(ports []ocicni.PortMapping) ([]*os.File, error) {
func (r *OCIRuntime) updateContainerStatus(ctr *Container, useRuntime bool) error { func (r *OCIRuntime) updateContainerStatus(ctr *Container, useRuntime bool) error {
exitFile := ctr.exitFilePath() exitFile := ctr.exitFilePath()
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }
@ -334,7 +334,7 @@ func (r *OCIRuntime) updateContainerStatus(ctr *Container, useRuntime bool) erro
// Sets time the container was started, but does not save it. // Sets time the container was started, but does not save it.
func (r *OCIRuntime) startContainer(ctr *Container) error { func (r *OCIRuntime) startContainer(ctr *Container) error {
// TODO: streams should probably *not* be our STDIN/OUT/ERR - redirect to buffers? // TODO: streams should probably *not* be our STDIN/OUT/ERR - redirect to buffers?
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }
@ -354,7 +354,7 @@ func (r *OCIRuntime) startContainer(ctr *Container) error {
// killContainer sends the given signal to the given container // killContainer sends the given signal to the given container
func (r *OCIRuntime) killContainer(ctr *Container, signal uint) error { func (r *OCIRuntime) killContainer(ctr *Container, signal uint) error {
logrus.Debugf("Sending signal %d to container %s", signal, ctr.ID()) logrus.Debugf("Sending signal %d to container %s", signal, ctr.ID())
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }
@ -368,7 +368,7 @@ func (r *OCIRuntime) killContainer(ctr *Container, signal uint) error {
// deleteContainer deletes a container from the OCI runtime // deleteContainer deletes a container from the OCI runtime
func (r *OCIRuntime) deleteContainer(ctr *Container) error { func (r *OCIRuntime) deleteContainer(ctr *Container) error {
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }
@ -378,7 +378,7 @@ func (r *OCIRuntime) deleteContainer(ctr *Container) error {
// pauseContainer pauses the given container // pauseContainer pauses the given container
func (r *OCIRuntime) pauseContainer(ctr *Container) error { func (r *OCIRuntime) pauseContainer(ctr *Container) error {
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }
@ -388,7 +388,7 @@ func (r *OCIRuntime) pauseContainer(ctr *Container) error {
// unpauseContainer unpauses the given container // unpauseContainer unpauses the given container
func (r *OCIRuntime) unpauseContainer(ctr *Container) error { func (r *OCIRuntime) unpauseContainer(ctr *Container) error {
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }

View File

@ -36,7 +36,7 @@ import (
func (r *OCIRuntime) createOCIContainer(ctr *Container, restoreOptions *ContainerCheckpointOptions) (err error) { func (r *OCIRuntime) createOCIContainer(ctr *Container, restoreOptions *ContainerCheckpointOptions) (err error) {
var stderrBuf bytes.Buffer var stderrBuf bytes.Buffer
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }

View File

@ -208,7 +208,7 @@ func (r *OCIRuntime) execContainer(c *Container, cmd, capAdd, env []string, tty
} }
}() }()
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return -1, nil, err return -1, nil, err
} }
@ -437,7 +437,7 @@ func (r *OCIRuntime) stopContainer(ctr *Container, timeout uint) error {
args = []string{"kill", "--all", ctr.ID(), "KILL"} args = []string{"kill", "--all", ctr.ID(), "KILL"}
} }
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }
@ -487,7 +487,7 @@ func (r *OCIRuntime) execStopContainer(ctr *Container, timeout uint) error {
if len(execSessions) == 0 { if len(execSessions) == 0 {
return nil return nil
} }
runtimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }

View File

@ -365,7 +365,7 @@ func SetXdgDirs() error {
if runtimeDir == "" { if runtimeDir == "" {
var err error var err error
runtimeDir, err = util.GetRootlessRuntimeDir() runtimeDir, err = util.GetRuntimeDir()
if err != nil { if err != nil {
return err return err
} }
@ -391,11 +391,11 @@ func getDefaultTmpDir() (string, error) {
return "/var/run/libpod", nil return "/var/run/libpod", nil
} }
rootlessRuntimeDir, err := util.GetRootlessRuntimeDir() runtimeDir, err := util.GetRuntimeDir()
if err != nil { if err != nil {
return "", err return "", err
} }
libpodRuntimeDir := filepath.Join(rootlessRuntimeDir, "libpod") libpodRuntimeDir := filepath.Join(runtimeDir, "libpod")
if err := os.Mkdir(libpodRuntimeDir, 0700|os.ModeSticky); err != nil { if err := os.Mkdir(libpodRuntimeDir, 0700|os.ModeSticky); err != nil {
if !os.IsExist(err) { if !os.IsExist(err) {

View File

@ -16,8 +16,8 @@ import (
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
) )
// GetRootlessRuntimeDir returns the runtime directory when running as non root // GetRuntimeDir returns the runtime directory
func GetRootlessRuntimeDir() (string, error) { func GetRuntimeDir() (string, error) {
var rootlessRuntimeDirError error var rootlessRuntimeDirError error
rootlessRuntimeDirOnce.Do(func() { rootlessRuntimeDirOnce.Do(func() {
@ -100,7 +100,7 @@ func GetRootlessConfigHomeDir() (string, error) {
// GetRootlessPauseProcessPidPath returns the path to the file that holds the pid for // GetRootlessPauseProcessPidPath returns the path to the file that holds the pid for
// the pause process // the pause process
func GetRootlessPauseProcessPidPath() (string, error) { func GetRootlessPauseProcessPidPath() (string, error) {
runtimeDir, err := GetRootlessRuntimeDir() runtimeDir, err := GetRuntimeDir()
if err != nil { if err != nil {
return "", err return "", err
} }

View File

@ -25,12 +25,12 @@ func GetRootlessPauseProcessPidPath() (string, error) {
return "", errors.Wrap(errNotImplemented, "GetRootlessPauseProcessPidPath") return "", errors.Wrap(errNotImplemented, "GetRootlessPauseProcessPidPath")
} }
// GetRootlessRuntimeDir returns the runtime directory when running as non root // GetRuntimeDir returns the runtime directory
func GetRootlessRuntimeDir() (string, error) { func GetRuntimeDir() (string, error) {
return "", errors.Wrap(errNotImplemented, "GetRootlessRuntimeDir") return "", errors.New("this function is not implemented for windows")
} }
// GetRootlessConfigHomeDir returns the config home directory when running as non root // GetRootlessConfigHomeDir returns the config home directory when running as non root
func GetRootlessConfigHomeDir() (string, error) { func GetRootlessConfigHomeDir() (string, error) {
return "", errors.Wrap(errNotImplemented, "GetRootlessConfigHomeDir") return "", errors.New("this function is not implemented for windows")
} }