package config type Config struct { App *AppConfig `yaml:"app"` Log *LogConfig `yaml:"log"` DB *DBConfig `yaml:"db"` Serve *ServeConfig `yaml:"serve"` } type AppConfig struct { Name string `yaml:"name"` } type LogConfig struct { Debug bool `yaml:"debug"` MaxSize int `yaml:"max_size"` MaxBackups int `yaml:"max_backups"` MaxAge int `yaml:"max_age"` Level string `yaml:"level"` } type DBConfig struct { Etcd *struct { Address []string `yaml:"address"` } `yaml:"etcd"` } type ServeConfig struct { Grpc *struct { AddressConfig TTL int64 `yaml:"ttl"` } `yaml:"grpc"` Socket *struct { Web *AddressConfig `yaml:"web"` Raw *AddressConfig `yaml:"raw"` } `yaml:"socket"` Http *AddressConfig `yaml:"http"` } type AddressConfig struct { Address string `yaml:"address"` Port int `yaml:"port"` }