43 lines
955 B
Go

package config
var Scd Config
// Config 是应用程序的主配置结构
type Config struct {
Server ServerConfig `mapstructure:"server"`
Database DatabaseConfig `mapstructure:"database"`
Redis RedisConfig `mapstructure:"redis"`
Docker DockerConfig `mapstructure:"docker"`
Auth AuthConfig `mapstructure:"auth"`
Logger LoggerConfig `mapstructure:"logger"`
Minio MinioConfig `mapstructure:"minio"`
}
// Validate 验证配置是否有效
func (c *Config) Validate() error {
if err := c.Server.Validate(); err != nil {
return err
}
if err := c.Database.Validate(); err != nil {
return err
}
if err := c.Docker.Validate(); err != nil {
return err
}
if err := c.Auth.Validate(); err != nil {
return err
}
if err := c.Logger.Validate(); err != nil {
return err
}
if err := c.Minio.Validate(); err != nil {
return err
}
if err := c.Redis.Validate(); err != nil {
return err
}
return nil
}