package config import ( "fmt" "os" "github.com/debridmediamanager/zurg/pkg/logutil" "gopkg.in/yaml.v3" ) func LoadZurgConfig(filename string, log *logutil.Logger) (ConfigInterface, error) { log.Debug("Loading config file ", filename) content, err := os.ReadFile(filename) if err != nil { return nil, err } var initialConfig ZurgConfig if err := yaml.Unmarshal(content, &initialConfig); err != nil { return nil, err } switch initialConfig.Version { case "v1": log.Debug("Detected config version: v1") return loadV1Config(content, log) default: return nil, fmt.Errorf("invalid config version: %s", initialConfig.Version) } }