package config import ( "os" "gopkg.in/yaml.v3" ) type Config struct { Database struct { Driver string `yaml:"driver"` DSN string `yaml:"dsn"` } `yaml:"database"` Server struct { Port int `yaml:"port"` Host string `yaml:"host"` } `yaml:"server"` JWT struct { Secret string `yaml:"secret"` Expiration string `yaml:"expiration"` } `yaml:"jwt"` Logging struct { Level string `yaml:"level"` Format string `yaml:"format"` } `yaml:"logging"` } // Load loads the configuration from the specified file func Load(path string) (*Config, error) { data, err := os.ReadFile(path) if err != nil { return nil, err } var cfg Config if err := yaml.Unmarshal(data, &cfg); err != nil { return nil, err } return &cfg, nil }