diff --git a/etcdmain/config.go b/etcdmain/config.go index e70f7df1b9c..b6bd8bbb870 100644 --- a/etcdmain/config.go +++ b/etcdmain/config.go @@ -283,6 +283,14 @@ func (cfg *config) parse(arguments []string) error { } var err error + + // This env variable must be parsed separately + // because we need to determine whether to use or + // ignore the env variables based on if the config file is set. + if cfg.configFile == "" { + cfg.configFile = os.Getenv(flags.FlagToEnv("ETCD", "config-file")) + } + if cfg.configFile != "" { err = cfg.configFromFile(cfg.configFile) if lg := cfg.ec.GetLogger(); lg != nil {