aboutsummaryrefslogtreecommitdiff
path: root/libpod
diff options
context:
space:
mode:
authorumohnani8 <umohnani@redhat.com>2018-04-26 11:29:02 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2018-04-26 16:33:25 +0000
commit6ac8a24db4ab3e2bbc85feca2bee8cb1c868c7f6 (patch)
tree7fb44c59e3c9feae18d402dda0c899a959e61459 /libpod
parentd7d0e13837a0a2ce0b5432373892d28dbbfc0342 (diff)
downloadpodman-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.go2
-rw-r--r--libpod/options.go13
-rw-r--r--libpod/runtime.go2
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 (