summaryrefslogtreecommitdiff
path: root/vendor/github.com
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-11-17 11:42:39 +0100
committerGitHub <noreply@github.com>2021-11-17 11:42:39 +0100
commitbd6fbb190ba701ff77c084a36b05e64ba9884a78 (patch)
treed03e80d102c943c606b31087d194bdedd5ba62da /vendor/github.com
parent802f26ef1039ea3a95c54fce53ea2ed99822e1c3 (diff)
parent364b242b70d9593e782a3d099bfc4ba04d8b3a2d (diff)
downloadpodman-bd6fbb190ba701ff77c084a36b05e64ba9884a78.tar.gz
podman-bd6fbb190ba701ff77c084a36b05e64ba9884a78.tar.bz2
podman-bd6fbb190ba701ff77c084a36b05e64ba9884a78.zip
Merge pull request #12303 from rhatdan/tmpdir
Set config environment variables early in Podman init
Diffstat (limited to 'vendor/github.com')
-rw-r--r--vendor/github.com/containers/common/libimage/manifests/manifests.go3
-rw-r--r--vendor/github.com/containers/common/pkg/config/config.go33
-rw-r--r--vendor/github.com/containers/common/pkg/parse/parse.go1
3 files changed, 36 insertions, 1 deletions
diff --git a/vendor/github.com/containers/common/libimage/manifests/manifests.go b/vendor/github.com/containers/common/libimage/manifests/manifests.go
index 8d1abfba9..45223cc2f 100644
--- a/vendor/github.com/containers/common/libimage/manifests/manifests.go
+++ b/vendor/github.com/containers/common/libimage/manifests/manifests.go
@@ -353,9 +353,12 @@ func (l *list) Add(ctx context.Context, sys *types.SystemContext, ref types.Imag
}
if instanceInfo.OS == "" {
instanceInfo.OS = config.OS
+ instanceInfo.OSVersion = config.OSVersion
+ instanceInfo.OSFeatures = config.OSFeatures
}
if instanceInfo.Architecture == "" {
instanceInfo.Architecture = config.Architecture
+ instanceInfo.Variant = config.Variant
}
}
manifestBytes, manifestType, err := src.GetManifest(ctx, instanceInfo.instanceDigest)
diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go
index 2eda0290a..1a5370a39 100644
--- a/vendor/github.com/containers/common/pkg/config/config.go
+++ b/vendor/github.com/containers/common/pkg/config/config.go
@@ -563,6 +563,10 @@ func NewConfig(userConfigPath string) (*Config, error) {
return nil, err
}
+ if err := config.setupEnv(); err != nil {
+ return nil, err
+ }
+
return config, nil
}
@@ -1146,7 +1150,14 @@ func (c *Config) ActiveDestination() (uri, identity string, err error) {
// FindHelperBinary will search the given binary name in the configured directories.
// If searchPATH is set to true it will also search in $PATH.
func (c *Config) FindHelperBinary(name string, searchPATH bool) (string, error) {
- for _, path := range c.Engine.HelperBinariesDir {
+ dir_list := c.Engine.HelperBinariesDir
+
+ // If set, search this directory first. This is used in testing.
+ if dir, found := os.LookupEnv("CONTAINERS_HELPER_BINARY_DIR"); found {
+ dir_list = append([]string{dir}, dir_list...)
+ }
+
+ for _, path := range dir_list {
fullpath := filepath.Join(path, name)
if fi, err := os.Stat(fullpath); err == nil && fi.Mode().IsRegular() {
return fullpath, nil
@@ -1180,3 +1191,23 @@ func (c *Config) ImageCopyTmpDir() (string, error) {
return "", errors.Errorf("invalid image_copy_tmp_dir value %q (relative paths are not accepted)", c.Engine.ImageCopyTmpDir)
}
+
+// setupEnv sets the environment variables for the engine
+func (c *Config) setupEnv() error {
+ for _, env := range c.Engine.Env {
+ splitEnv := strings.SplitN(env, "=", 2)
+ if len(splitEnv) != 2 {
+ logrus.Warnf("invalid environment variable for engine %s, valid configuration is KEY=value pair", env)
+ continue
+ }
+ // skip if the env is already defined
+ if _, ok := os.LookupEnv(splitEnv[0]); ok {
+ logrus.Debugf("environment variable %s is already defined, skip the settings from containers.conf", splitEnv[0])
+ continue
+ }
+ if err := os.Setenv(splitEnv[0], splitEnv[1]); err != nil {
+ return err
+ }
+ }
+ return nil
+}
diff --git a/vendor/github.com/containers/common/pkg/parse/parse.go b/vendor/github.com/containers/common/pkg/parse/parse.go
index 02e670c50..fda129c83 100644
--- a/vendor/github.com/containers/common/pkg/parse/parse.go
+++ b/vendor/github.com/containers/common/pkg/parse/parse.go
@@ -66,6 +66,7 @@ func ValidateVolumeOpts(options []string) ([]string, error) {
// are intended to be always safe to use, even not on OS
// X).
continue
+ case "idmap":
default:
return nil, errors.Errorf("invalid option type %q", opt)
}