diff options
author | Anders F Björklund <anders.f.bjorklund@gmail.com> | 2019-10-01 19:42:14 +0200 |
---|---|---|
committer | Anders F Björklund <anders.f.bjorklund@gmail.com> | 2019-10-01 19:46:57 +0200 |
commit | 23ae7604c9301f8e1ab1dbc125db6b7b724a8db2 (patch) | |
tree | 299b9b0a0e4f95dc92e6f3c06fe815f8973062d7 | |
parent | db694f13ba515d04d6f5a42e85472ed8e66f7220 (diff) | |
download | podman-23ae7604c9301f8e1ab1dbc125db6b7b724a8db2.tar.gz podman-23ae7604c9301f8e1ab1dbc125db6b7b724a8db2.tar.bz2 podman-23ae7604c9301f8e1ab1dbc125db6b7b724a8db2.zip |
Allow setting default parameters with env vars
Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
-rw-r--r-- | cmd/podman/main_remote.go | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/cmd/podman/main_remote.go b/cmd/podman/main_remote.go index 569a5c006..623f4098e 100644 --- a/cmd/podman/main_remote.go +++ b/cmd/podman/main_remote.go @@ -3,9 +3,11 @@ package main import ( - "github.com/pkg/errors" + "os" "os/user" + "strconv" + "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -13,16 +15,32 @@ const remote = true func init() { var username string - if curruser, err := user.Current(); err == nil { - username = curruser.Username + if username = os.Getenv("PODMAN_USER"); username == "" { + if curruser, err := user.Current(); err == nil { + username = curruser.Username + } + } + host := os.Getenv("PODMAN_HOST") + port := 22 + if portstr := os.Getenv("PODMAN_PORT"); portstr != "" { + if p, err := strconv.Atoi(portstr); err == nil { + port = p + } + } + key := os.Getenv("PODMAN_IDENTITY_FILE") + ignore := false + if ignorestr := os.Getenv("PODMAN_IGNORE_HOSTS"); ignorestr != "" { + if b, err := strconv.ParseBool(ignorestr); err == nil { + ignore = b + } } rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.ConnectionName, "connection", "", "remote connection name") rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.RemoteConfigFilePath, "remote-config-path", "", "alternate path for configuration file") rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.RemoteUserName, "username", username, "username on the remote host") - rootCmd.PersistentFlags().IntVar(&MainGlobalOpts.Port, "port", 22, "port on remote host") - rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.RemoteHost, "remote-host", "", "remote host") - rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.IdentityFile, "identity-file", "", "identity-file") - rootCmd.PersistentFlags().BoolVar(&MainGlobalOpts.IgnoreHosts, "ignore-hosts", false, "ignore hosts") + rootCmd.PersistentFlags().IntVar(&MainGlobalOpts.Port, "port", port, "port on remote host") + rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.RemoteHost, "remote-host", host, "remote host") + rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.IdentityFile, "identity-file", key, "identity-file") + rootCmd.PersistentFlags().BoolVar(&MainGlobalOpts.IgnoreHosts, "ignore-hosts", ignore, "ignore hosts") // TODO maybe we allow the altering of this for bridge connections? // rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.VarlinkAddress, "varlink-address", adapter.DefaultAddress, "address of the varlink socket") rootCmd.PersistentFlags().StringVar(&MainGlobalOpts.LogLevel, "log-level", "error", "Log messages above specified level: debug, info, warn, error, fatal or panic. Logged to ~/.config/containers/podman.log") |