in internal/util/utils.go [103:126]
func ExportEnvVars(envFile string) {
b, err := os.ReadFile(envFile)
if err != nil {
logger.Log.Warnf("failed to export environment variables, %v", err)
return
}
s := string(b)
lines := strings.Split(s, "\n")
for _, line := range lines {
if strings.HasPrefix(line, "#") {
continue
}
kv := strings.SplitN(line, "=", 2)
if len(kv) != 2 {
continue
}
key, val := kv[0], kv[1]
// should only export env vars that are not already exist in parent process (Go process)
if err := os.Setenv(key, val); err != nil {
logger.Log.Warnf("failed to export environment variable %v=%v, %v", key, val, err)
}
}
}