summaryrefslogtreecommitdiff
path: root/cmd/podmanV2/registry/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/podmanV2/registry/config.go')
-rw-r--r--cmd/podmanV2/registry/config.go106
1 files changed, 0 insertions, 106 deletions
diff --git a/cmd/podmanV2/registry/config.go b/cmd/podmanV2/registry/config.go
deleted file mode 100644
index 358f9172e..000000000
--- a/cmd/podmanV2/registry/config.go
+++ /dev/null
@@ -1,106 +0,0 @@
-package registry
-
-import (
- "fmt"
- "os"
- "path/filepath"
- "runtime"
- "strings"
-
- "github.com/containers/common/pkg/config"
- "github.com/containers/libpod/pkg/domain/entities"
- "github.com/containers/libpod/pkg/rootless"
- "github.com/containers/libpod/pkg/util"
- "github.com/pkg/errors"
-)
-
-const (
- ParentNSRequired = "ParentNSRequired"
-)
-
-var (
- PodmanOptions entities.PodmanConfig
-)
-
-// NewPodmanConfig creates a PodmanConfig from the environment
-func NewPodmanConfig() entities.PodmanConfig {
- if err := setXdgDirs(); err != nil {
- fmt.Fprintf(os.Stderr, err.Error())
- os.Exit(1)
- }
-
- var mode entities.EngineMode
- switch runtime.GOOS {
- case "darwin":
- fallthrough
- case "windows":
- mode = entities.TunnelMode
- case "linux":
- mode = entities.ABIMode
- default:
- fmt.Fprintf(os.Stderr, "%s is not a supported OS", runtime.GOOS)
- os.Exit(1)
- }
-
- // cobra.Execute() may not be called yet, so we peek at os.Args.
- for _, v := range os.Args {
- // Prefix checking works because of how default EngineMode's
- // have been defined.
- if strings.HasPrefix(v, "--remote") {
- mode = entities.TunnelMode
- }
- }
-
- // FIXME: for rootless, add flag to get the path to override configuration
- cfg, err := config.NewConfig("")
- if err != nil {
- fmt.Fprint(os.Stderr, "Failed to obtain podman configuration: "+err.Error())
- os.Exit(1)
- }
-
- cfg.Network.NetworkConfigDir = cfg.Network.CNIPluginDirs[0]
- if rootless.IsRootless() {
- cfg.Network.NetworkConfigDir = ""
- }
-
- return entities.PodmanConfig{Config: cfg, EngineMode: mode}
-}
-
-// SetXdgDirs ensures the XDG_RUNTIME_DIR env and XDG_CONFIG_HOME variables are set.
-// containers/image uses XDG_RUNTIME_DIR to locate the auth file, XDG_CONFIG_HOME is
-// use for the libpod.conf configuration file.
-func setXdgDirs() error {
- if !rootless.IsRootless() {
- return nil
- }
-
- // Setup XDG_RUNTIME_DIR
- if _, found := os.LookupEnv("XDG_RUNTIME_DIR"); !found {
- dir, err := util.GetRuntimeDir()
- if err != nil {
- return err
- }
- if err := os.Setenv("XDG_RUNTIME_DIR", dir); err != nil {
- return errors.Wrapf(err, "cannot set XDG_RUNTIME_DIR="+dir)
- }
- }
-
- if _, found := os.LookupEnv("DBUS_SESSION_BUS_ADDRESS"); !found {
- sessionAddr := filepath.Join(os.Getenv("XDG_RUNTIME_DIR"), "bus")
- if _, err := os.Stat(sessionAddr); err == nil {
- os.Setenv("DBUS_SESSION_BUS_ADDRESS", "unix:path="+sessionAddr)
- }
- }
-
- // Setup XDG_CONFIG_HOME
- if _, found := os.LookupEnv("XDG_CONFIG_HOME"); !found {
- cfgHomeDir, err := util.GetRootlessConfigHomeDir()
- if err != nil {
- return err
- }
- if err := os.Setenv("XDG_CONFIG_HOME", cfgHomeDir); err != nil {
- return errors.Wrapf(err, "cannot set XDG_CONFIG_HOME="+cfgHomeDir)
- }
- }
- return nil
-}