package redis import ( "os" "gopkg.in/yaml.v3" ) const ( DefaultConfigPath = "/cfg/redis.yaml" ConfigPathEnvKey = "REDIS_CONFIG_PATH" ) type Option struct { Addr string `yaml:"addr"` Password string `yaml:"password"` DB int `yaml:"db"` } func LoadDefaultConfig() (*Option, error) { path := os.Getenv(ConfigPathEnvKey) if path == "" { path = DefaultConfigPath } return LoadConfig(path) } func LoadConfig(path string) (*Option, error) { var opt Option f, err := os.Open(path) if err != nil { return nil, err } defer f.Close() return &opt, yaml.NewDecoder(f).Decode(&opt) }