func ExportEnvVars()

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)
		}
	}
}