summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--app/admin.go2
-rw-r--r--cmd/platform/init.go1
-rw-r--r--cmd/platform/mattermost.go1
-rw-r--r--cmd/platform/server.go2
-rw-r--r--utils/config.go15
6 files changed, 17 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 28e6fde38..b9c909ff1 100644
--- a/Makefile
+++ b/Makefile
@@ -417,7 +417,7 @@ run-server: prepare-enterprise start-docker
@echo Running mattermost for development
mkdir -p $(BUILD_WEBAPP_DIR)/dist/files
- $(GO) run $(GOFLAGS) $(GO_LINKER_FLAGS) ./cmd/platform/*.go &
+ $(GO) run $(GOFLAGS) $(GO_LINKER_FLAGS) ./cmd/platform/*.go --disableconfigwatch &
run-cli: prepare-enterprise start-docker
@echo Running mattermost for development
diff --git a/app/admin.go b/app/admin.go
index 3ff10015c..103c4617b 100644
--- a/app/admin.go
+++ b/app/admin.go
@@ -136,7 +136,6 @@ func SaveConfig(cfg *model.Config) *model.AppError {
return model.NewLocAppError("saveConfig", "ent.cluster.save_config.error", nil, "")
}
- //oldCfg := utils.Cfg
utils.DisableConfigWatch()
utils.SaveConfig(utils.CfgFileName, cfg)
utils.LoadConfig(utils.CfgFileName)
@@ -150,6 +149,7 @@ func SaveConfig(cfg *model.Config) *model.AppError {
}
}
+ // oldCfg := utils.Cfg
// Future feature is to sync the configuration files
// if einterfaces.GetClusterInterface() != nil {
// err := einterfaces.GetClusterInterface().ConfigChanged(cfg, oldCfg, true)
diff --git a/cmd/platform/init.go b/cmd/platform/init.go
index 0458e7a1c..7d01eb890 100644
--- a/cmd/platform/init.go
+++ b/cmd/platform/init.go
@@ -20,6 +20,7 @@ func doLoadConfig(filename string) (err string) {
utils.LoadConfig(filename)
utils.InitializeConfigWatch()
utils.EnableConfigWatch()
+
return ""
}
diff --git a/cmd/platform/mattermost.go b/cmd/platform/mattermost.go
index 9f58b3250..a4e44e016 100644
--- a/cmd/platform/mattermost.go
+++ b/cmd/platform/mattermost.go
@@ -30,6 +30,7 @@ func main() {
func init() {
rootCmd.PersistentFlags().StringP("config", "c", "config.json", "Configuration file to use.")
+ rootCmd.PersistentFlags().Bool("disableconfigwatch", false, "When set config.json will not be loaded from disk when the file is changed.")
resetCmd.Flags().Bool("confirm", false, "Confirm you really want to delete everything and a DB backup has been performed.")
diff --git a/cmd/platform/server.go b/cmd/platform/server.go
index 234721778..0d971afb6 100644
--- a/cmd/platform/server.go
+++ b/cmd/platform/server.go
@@ -36,6 +36,8 @@ func runServerCmd(cmd *cobra.Command, args []string) error {
return err
}
+ utils.CfgDisableConfigWatch, _ = cmd.Flags().GetBool("disableconfigwatch")
+
runServer(config)
return nil
}
diff --git a/utils/config.go b/utils/config.go
index 14f151d2d..a4ec82078 100644
--- a/utils/config.go
+++ b/utils/config.go
@@ -36,6 +36,7 @@ var Cfg *model.Config = &model.Config{}
var CfgDiagnosticId = ""
var CfgHash = ""
var CfgFileName string = ""
+var CfgDisableConfigWatch = false
var ClientCfg map[string]string = map[string]string{}
var originalDisableDebugLvl l4g.Level = l4g.DEBUG
var siteURL = ""
@@ -178,6 +179,10 @@ func InitializeConfigWatch() {
cfgMutex.Lock()
defer cfgMutex.Unlock()
+ if CfgDisableConfigWatch {
+ return
+ }
+
if watcher == nil {
var err error
watcher, err = fsnotify.NewWatcher()
@@ -215,11 +220,13 @@ func EnableConfigWatch() {
cfgMutex.Lock()
defer cfgMutex.Unlock()
- configFile := filepath.Clean(CfgFileName)
- configDir, _ := filepath.Split(configFile)
-
if watcher != nil {
- watcher.Add(configDir)
+ configFile := filepath.Clean(CfgFileName)
+ configDir, _ := filepath.Split(configFile)
+
+ if watcher != nil {
+ watcher.Add(configDir)
+ }
}
}