Code Review
/
src
/
xds
/
xds-agent.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Always resolved env vars in path of config structure.
[src/xds/xds-agent.git]
/
lib
/
xdsconfig
/
configfile.go
diff --git
a/lib/xdsconfig/configfile.go
b/lib/xdsconfig/configfile.go
index
c252073
..
500c195
100644
(file)
--- a/
lib/xdsconfig/configfile.go
+++ b/
lib/xdsconfig/configfile.go
@@
-59,6
+59,9
@@
type FileConfig struct {
func readGlobalConfig(c *Config, confFile string) error {
func readGlobalConfig(c *Config, confFile string) error {
+ var fd *os.File
+ var fCfg = FileConfig{}
+
searchIn := make([]string, 0, 3)
if confFile != "" {
searchIn = append(searchIn, confFile)
searchIn := make([]string, 0, 3)
if confFile != "" {
searchIn = append(searchIn, confFile)
@@
-78,7
+81,8
@@
func readGlobalConfig(c *Config, confFile string) error {
}
if cFile == nil {
c.Log.Infof("No config file found")
}
if cFile == nil {
c.Log.Infof("No config file found")
- return nil
+ // always resolved env vars even if no config file found!
+ goto resVars
}
c.Log.Infof("Use config file: %s", *cFile)
}
c.Log.Infof("Use config file: %s", *cFile)
@@
-87,11
+91,14
@@
func readGlobalConfig(c *Config, confFile string) error {
// bind with flags (command line options)
// see https://github.com/spf13/viper#working-with-flags
// bind with flags (command line options)
// see https://github.com/spf13/viper#working-with-flags
- fd, _ := os.Open(*cFile)
- defer fd.Close()
+ fd, _ = os.Open(*cFile)
+ defer func() {
+ if fd != nil {
+ fd.Close()
+ }
+ }()
// Decode config file content and save it in a first variable
// Decode config file content and save it in a first variable
- fCfg := FileConfig{}
if err := json.NewDecoder(fd).Decode(&fCfg); err != nil {
return err
}
if err := json.NewDecoder(fd).Decode(&fCfg); err != nil {
return err
}
@@
-106,6
+113,7
@@
func readGlobalConfig(c *Config, confFile string) error {
}
// Support environment variables (IOW ${MY_ENV_VAR} syntax) in agent-config.json
}
// Support environment variables (IOW ${MY_ENV_VAR} syntax) in agent-config.json
+resVars:
vars := []*string{
&c.FileConf.LogsDir,
&c.FileConf.WebAppDir,
vars := []*string{
&c.FileConf.LogsDir,
&c.FileConf.WebAppDir,