package config import ( "os" "path/filepath" "gopkg.in/yaml.v3" ) const defaultAPIURL = "http://192.168.2.100:31600" type Config struct { APIURL string `yaml:"api_url"` } // GetAPIURL returns the API URL from env, then config file, then default. func GetAPIURL(apiURLFlag string) string { if apiURLFlag != "" { return apiURLFlag } if v := os.Getenv("GCONSOLE_API_URL"); v != "" { return v } cfg := loadConfig() if cfg.APIURL != "" { return cfg.APIURL } return defaultAPIURL } func loadConfig() Config { home, err := os.UserHomeDir() if err != nil { return Config{} } path := filepath.Join(home, ".gconsole", "config.yaml") data, err := os.ReadFile(path) if err != nil { return Config{} } var cfg Config yaml.Unmarshal(data, &cfg) return cfg }