INNER CODE UNIT · Go
envVars
umputun/spot · cmd/spot/main.go:554
func envVars(vars map[string]string, envFile string) (map[string]string, error) {
res := make(map[string]string)
expandEnv := func(value string) string {
// expand environment variables denoted by $var or ${var}
return os.Expand(value, os.Getenv)
}
// load env file vars
envFileData := struct {
Vars map[string]string `yaml:"vars"`
}{}
fh, err := os.Open(envFile) //nolint:gosec // file inclusion from cli is intentional
if err == nil {
defer fh.Close()
if err := yaml.NewDecoder(fh).Decode(&envFileData); err != nil {
log.Printf("[WARN] can't parse env file %q: %v", envFile, err)
}