X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsconfig%2Ffileconfig.go;h=8e77de7802f92687fe5fc318f44e48db6dd7fe47;hb=963931e04d44a5b40d38817163f52f56241a9f33;hp=39560a41b02d3e5871133e8d333754e6b200f78c;hpb=0e72ccd733207877bd8edca55fd6aed0877139e5;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsconfig/fileconfig.go b/lib/xdsconfig/fileconfig.go index 39560a4..8e77de7 100644 --- a/lib/xdsconfig/fileconfig.go +++ b/lib/xdsconfig/fileconfig.go @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2017 "IoT.bzh" + * Author Sebastien Douheret + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package xdsconfig import ( @@ -11,11 +28,12 @@ import ( common "github.com/iotbzh/xds-common/golib" ) +// ConfigDir Directory in user HOME directory where xds config will be saved +var ConfigDir = path.Join(".xds", "server") + const ( - // ConfigDir Directory in user HOME directory where xds config will be saved - ConfigDir = ".xds-server" // GlobalConfigFilename Global config filename - GlobalConfigFilename = "config.json" + GlobalConfigFilename = "server-config.json" // ServerDataFilename Server data filename ServerDataFilename = "server-data.xml" // FoldersConfigFilename Folders config filename @@ -31,7 +49,7 @@ type SyncThingConf struct { RescanIntervalS int `json:"rescanIntervalS"` } -// FileConfig is the JSON structure of xds-server config file (config.json) +// FileConfig is the JSON structure of xds-server config file (server-config.json) type FileConfig struct { WebAppDir string `json:"webAppDir"` ShareRootDir string `json:"shareRootDir"` @@ -44,9 +62,9 @@ type FileConfig struct { // readGlobalConfig reads configuration from a config file. // Order to determine which config file is used: // 1/ from command line option: "--config myConfig.json" -// 2/ $HOME/.xds-server/config.json file -// 3/ /etc/xds-server/config.json file -// 4/ /config.json file +// 2/ $HOME/.xds/server/server-config.json file +// 3/ /etc/xds/server/server-config.json file +// 4/ /server-config.json file func readGlobalConfig(c *Config, confFile string) error { searchIn := make([]string, 0, 3) @@ -54,11 +72,10 @@ func readGlobalConfig(c *Config, confFile string) error { searchIn = append(searchIn, confFile) } if usr, err := user.Current(); err == nil { - searchIn = append(searchIn, path.Join(usr.HomeDir, ConfigDir, - GlobalConfigFilename)) + searchIn = append(searchIn, path.Join(usr.HomeDir, ConfigDir, GlobalConfigFilename)) } - searchIn = append(searchIn, "/etc/xds-server/config.json") + searchIn = append(searchIn, "/etc/xds/server/server-config.json") exePath := os.Args[0] ee, _ := os.Executable() @@ -71,7 +88,7 @@ func readGlobalConfig(c *Config, confFile string) error { exePath = filepath.Dir(exeAbsPath) } } - searchIn = append(searchIn, path.Join(exePath, "config.json")) + searchIn = append(searchIn, path.Join(exePath, "server-config.json")) var cFile *string for _, p := range searchIn { @@ -84,7 +101,7 @@ func readGlobalConfig(c *Config, confFile string) error { // No config file found return nil } - c.Log.Infof("Use config file: %s", *cFile) + c.Log.Infof("Use config file: %s", *cFile) // TODO move on viper package to support comments in JSON and also // bind with flags (command line options) @@ -96,7 +113,7 @@ func readGlobalConfig(c *Config, confFile string) error { return err } - // Support environment variables (IOW ${MY_ENV_VAR} syntax) in config.json + // Support environment variables (IOW ${MY_ENV_VAR} syntax) in server-config.json vars := []*string{ &fCfg.WebAppDir, &fCfg.ShareRootDir,