diff options
author | umohnani8 <umohnani@redhat.com> | 2018-04-26 11:29:02 -0400 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-04-26 16:33:25 +0000 |
commit | 6ac8a24db4ab3e2bbc85feca2bee8cb1c868c7f6 (patch) | |
tree | 7fb44c59e3c9feae18d402dda0c899a959e61459 /libpod | |
parent | d7d0e13837a0a2ce0b5432373892d28dbbfc0342 (diff) | |
download | podman-6ac8a24db4ab3e2bbc85feca2bee8cb1c868c7f6.tar.gz podman-6ac8a24db4ab3e2bbc85feca2bee8cb1c868c7f6.tar.bz2 podman-6ac8a24db4ab3e2bbc85feca2bee8cb1c868c7f6.zip |
Add --default-mounts-file hidden flag
The hidden flag is used to override the path of the default mounts file
for testing purposes.
Also modified the secrets pkg to allow for this override to happen.
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #678
Approved by: mheon
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/container_internal.go | 2 | ||||
-rw-r--r-- | libpod/options.go | 13 | ||||
-rw-r--r-- | libpod/runtime.go | 2 |
3 files changed, 16 insertions, 1 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 561b8853d..740824e1b 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -753,7 +753,7 @@ func (c *Container) makeBindMounts() error { } // Add Secret Mounts - secretMounts := secrets.SecretMounts(c.config.MountLabel, c.state.RunDir) + secretMounts := secrets.SecretMounts(c.config.MountLabel, c.state.RunDir, c.runtime.config.DefaultMountsFile) for _, mount := range secretMounts { if _, ok := c.state.BindMounts[mount.Destination]; !ok { c.state.BindMounts[mount.Destination] = mount.Source diff --git a/libpod/options.go b/libpod/options.go index 2c51b5834..202cfe9a3 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -186,6 +186,19 @@ func WithHooksDir(hooksDir string) RuntimeOption { } } +// WithDefaultMountsFile sets the file to look at for default mounts (mainly secrets) +// Note we are not saving this in the database as it is for testing purposes only +func WithDefaultMountsFile(mountsFile string) RuntimeOption { + return func(rt *Runtime) error { + if rt.valid { + return ErrRuntimeFinalized + } + + rt.config.DefaultMountsFile = []string{mountsFile} + return nil + } +} + // WithTmpDir sets the directory that temporary runtime files which are not // expected to survive across reboots will be stored // This should be located on a tmpfs mount (/tmp or /var/run for example) diff --git a/libpod/runtime.go b/libpod/runtime.go index 168e27c67..f46fc8851 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -131,6 +131,8 @@ type RuntimeConfig struct { CNIPluginDir []string `toml:"cni_plugin_dir"` // HooksDir Path to the directory containing hooks configuration files HooksDir string `toml:"hooks_dir"` + // DefaultMountsFile is the path to the default mounts file for testing purposes only + DefaultMountsFile []string `toml:"-"` } var ( |