diff options
author | Jhon Honce <jhonce@redhat.com> | 2020-04-16 16:42:33 -0700 |
---|---|---|
committer | Jhon Honce <jhonce@redhat.com> | 2020-04-16 16:49:59 -0700 |
commit | 554c663b5ad2bd0c0fa4c58559ec2a9b19ed399f (patch) | |
tree | 215280684ce6195fac64f18ebd7d29c5baa376cc /cmd/podman/registry/config.go | |
parent | 0d2b5532c417c58bd24e71a56c5c55b43e423a59 (diff) | |
download | podman-554c663b5ad2bd0c0fa4c58559ec2a9b19ed399f.tar.gz podman-554c663b5ad2bd0c0fa4c58559ec2a9b19ed399f.tar.bz2 podman-554c663b5ad2bd0c0fa4c58559ec2a9b19ed399f.zip |
Fix bug where two configurations had been created
* registry.PodmanConfig() new returns a pointer to the source of truth
Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'cmd/podman/registry/config.go')
-rw-r--r-- | cmd/podman/registry/config.go | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/cmd/podman/registry/config.go b/cmd/podman/registry/config.go index 358f9172e..fc6eb538e 100644 --- a/cmd/podman/registry/config.go +++ b/cmd/podman/registry/config.go @@ -6,6 +6,7 @@ import ( "path/filepath" "runtime" "strings" + "sync" "github.com/containers/common/pkg/config" "github.com/containers/libpod/pkg/domain/entities" @@ -19,11 +20,18 @@ const ( ) var ( - PodmanOptions entities.PodmanConfig + podmanOptions entities.PodmanConfig + podmanSync sync.Once ) -// NewPodmanConfig creates a PodmanConfig from the environment -func NewPodmanConfig() entities.PodmanConfig { +// PodmanConfig returns an entities.PodmanConfig built up from +// environment and CLI +func PodmanConfig() *entities.PodmanConfig { + podmanSync.Do(newPodmanConfig) + return &podmanOptions +} + +func newPodmanConfig() { if err := setXdgDirs(); err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) @@ -63,7 +71,7 @@ func NewPodmanConfig() entities.PodmanConfig { cfg.Network.NetworkConfigDir = "" } - return entities.PodmanConfig{Config: cfg, EngineMode: mode} + podmanOptions = entities.PodmanConfig{Config: cfg, EngineMode: mode} } // SetXdgDirs ensures the XDG_RUNTIME_DIR env and XDG_CONFIG_HOME variables are set. |