diff --git a/command/server.go b/command/server.go index 17f40d1655..c402d09d52 100644 --- a/command/server.go +++ b/command/server.go @@ -284,6 +284,13 @@ func (c *ServerCommand) Run(args []string) int { return 1 } coreConfig.PluginDirectory = filepath.Join(homePath, "/.vault-plugins/") + err = os.Mkdir(coreConfig.PluginDirectory, 0700) + if err != nil && !os.IsExist(err) { + c.Ui.Output(fmt.Sprintf( + "Error making default plugin directory: %v", err)) + return 1 + } + } var disableClustering bool diff --git a/command/server/config.go b/command/server/config.go index 4821a29ba8..dad485928d 100644 --- a/command/server/config.go +++ b/command/server/config.go @@ -273,6 +273,11 @@ func (c *Config) Merge(c2 *Config) *Config { result.EnableUI = c2.EnableUI } + result.PluginDirectory = c.PluginDirectory + if c2.PluginDirectory != "" { + result.PluginDirectory = c2.PluginDirectory + } + return result }