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
This commit is contained in:
umohnani8
2018-04-26 11:29:02 -04:00
committed by Atomic Bot
parent d7d0e13837
commit 6ac8a24db4
7 changed files with 34 additions and 9 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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 (