package config import ( "fmt" "os" "github.com/debridmediamanager.com/zurg/pkg/logutil" "gopkg.in/yaml.v3" ) func LoadZurgConfig(filename string) (ConfigInterface, error) { log := logutil.NewLogger().Named("config") 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) default: return nil, fmt.Errorf("invalid config version: %s", initialConfig.Version) } }