summaryrefslogtreecommitdiff
path: root/cmd/podmanV2/registry
diff options
context:
space:
mode:
authorBrent Baude <bbaude@redhat.com>2020-04-16 12:25:26 -0500
committerBrent Baude <bbaude@redhat.com>2020-04-16 15:53:58 -0500
commit241326a9a8c20ad7f2bcf651416b836e7778e090 (patch)
tree4001e8e47a022bb1b9bfbf2332c42e1aeb802f9e /cmd/podmanV2/registry
parent88c6fd06cd54fb9a8826306dfdf1a77e400de5de (diff)
downloadpodman-241326a9a8c20ad7f2bcf651416b836e7778e090.tar.gz
podman-241326a9a8c20ad7f2bcf651416b836e7778e090.tar.bz2
podman-241326a9a8c20ad7f2bcf651416b836e7778e090.zip
Podman V2 birth
remote podman v1 and replace with podman v2. Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podmanV2/registry')
-rw-r--r--cmd/podmanV2/registry/config.go106
-rw-r--r--cmd/podmanV2/registry/registry.go116
-rw-r--r--cmd/podmanV2/registry/remote.go9
3 files changed, 0 insertions, 231 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
-}
diff --git a/cmd/podmanV2/registry/registry.go b/cmd/podmanV2/registry/registry.go
deleted file mode 100644
index 1c5e5d21b..000000000
--- a/cmd/podmanV2/registry/registry.go
+++ /dev/null
@@ -1,116 +0,0 @@
-package registry
-
-import (
- "context"
-
- "github.com/containers/libpod/pkg/domain/entities"
- "github.com/containers/libpod/pkg/domain/infra"
- "github.com/pkg/errors"
- "github.com/spf13/cobra"
-)
-
-// DefaultAPIAddress is the default address of the REST socket
-const DefaultAPIAddress = "unix:/run/podman/podman.sock"
-
-// DefaultVarlinkAddress is the default address of the varlink socket
-const DefaultVarlinkAddress = "unix:/run/podman/io.podman"
-
-type CliCommand struct {
- Mode []entities.EngineMode
- Command *cobra.Command
- Parent *cobra.Command
-}
-
-const ExecErrorCodeGeneric = 125
-
-var (
- cliCtx context.Context
- containerEngine entities.ContainerEngine
- exitCode = ExecErrorCodeGeneric
- imageEngine entities.ImageEngine
-
- // Commands holds the cobra.Commands to present to the user, including
- // parent if not a child of "root"
- Commands []CliCommand
-)
-
-func SetExitCode(code int) {
- exitCode = code
-}
-
-func GetExitCode() int {
- return exitCode
-}
-
-func ImageEngine() entities.ImageEngine {
- return imageEngine
-}
-
-// NewImageEngine is a wrapper for building an ImageEngine to be used for PreRunE functions
-func NewImageEngine(cmd *cobra.Command, args []string) (entities.ImageEngine, error) {
- if imageEngine == nil {
- PodmanOptions.FlagSet = cmd.Flags()
- engine, err := infra.NewImageEngine(PodmanOptions)
- if err != nil {
- return nil, err
- }
- imageEngine = engine
- }
- return imageEngine, nil
-}
-
-func ContainerEngine() entities.ContainerEngine {
- return containerEngine
-}
-
-// NewContainerEngine is a wrapper for building an ContainerEngine to be used for PreRunE functions
-func NewContainerEngine(cmd *cobra.Command, args []string) (entities.ContainerEngine, error) {
- if containerEngine == nil {
- PodmanOptions.FlagSet = cmd.Flags()
- engine, err := infra.NewContainerEngine(PodmanOptions)
- if err != nil {
- return nil, err
- }
- containerEngine = engine
- }
- return containerEngine, nil
-}
-
-func SubCommandExists(cmd *cobra.Command, args []string) error {
- if len(args) > 0 {
- return errors.Errorf("unrecognized command `%[1]s %[2]s`\nTry '%[1]s --help' for more information.", cmd.CommandPath(), args[0])
- }
- return errors.Errorf("missing command '%[1]s COMMAND'\nTry '%[1]s --help' for more information.", cmd.CommandPath())
-}
-
-// IdOrLatestArgs used to validate a nameOrId was provided or the "--latest" flag
-func IdOrLatestArgs(cmd *cobra.Command, args []string) error {
- if len(args) > 1 || (len(args) == 0 && !cmd.Flag("latest").Changed) {
- return errors.New(`command requires a name, id or the "--latest" flag`)
- }
- return nil
-}
-
-type PodmanOptionsKey struct{}
-
-func Context() context.Context {
- if cliCtx == nil {
- cliCtx = ContextWithOptions(context.Background())
- }
- return cliCtx
-}
-
-func ContextWithOptions(ctx context.Context) context.Context {
- cliCtx = context.WithValue(ctx, PodmanOptionsKey{}, PodmanOptions)
- return cliCtx
-}
-
-// GetContextWithOptions deprecated, use NewContextWithOptions()
-func GetContextWithOptions() context.Context {
- return ContextWithOptions(context.Background())
-}
-
-// GetContext deprecated, use Context()
-func GetContext() context.Context {
- return Context()
-}
diff --git a/cmd/podmanV2/registry/remote.go b/cmd/podmanV2/registry/remote.go
deleted file mode 100644
index 5378701e7..000000000
--- a/cmd/podmanV2/registry/remote.go
+++ /dev/null
@@ -1,9 +0,0 @@
-package registry
-
-import (
- "github.com/containers/libpod/pkg/domain/entities"
-)
-
-func IsRemote() bool {
- return PodmanOptions.EngineMode == entities.TunnelMode
-}