66 lines
1.5 KiB
Go
66 lines
1.5 KiB
Go
package bootstrap
|
|
|
|
import conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1"
|
|
|
|
var configList []interface{}
|
|
|
|
var commonConfig = &conf.Bootstrap{}
|
|
|
|
func GetBootstrapConfig() *conf.Bootstrap {
|
|
return commonConfig
|
|
}
|
|
|
|
// RegisterConfig 注册配置
|
|
func RegisterConfig(c interface{}) {
|
|
initBootstrapConfig()
|
|
configList = append(configList, c)
|
|
}
|
|
|
|
func initBootstrapConfig() {
|
|
if len(configList) > 0 {
|
|
return
|
|
}
|
|
|
|
configList = append(configList, commonConfig)
|
|
|
|
if commonConfig.Server == nil {
|
|
commonConfig.Server = &conf.Server{}
|
|
configList = append(configList, commonConfig.Server)
|
|
}
|
|
|
|
if commonConfig.Client == nil {
|
|
commonConfig.Client = &conf.Client{}
|
|
configList = append(configList, commonConfig.Client)
|
|
}
|
|
|
|
if commonConfig.Data == nil {
|
|
commonConfig.Data = &conf.Data{}
|
|
configList = append(configList, commonConfig.Data)
|
|
}
|
|
|
|
if commonConfig.Trace == nil {
|
|
commonConfig.Trace = &conf.Tracer{}
|
|
configList = append(configList, commonConfig.Trace)
|
|
}
|
|
|
|
if commonConfig.Logger == nil {
|
|
commonConfig.Logger = &conf.Logger{}
|
|
configList = append(configList, commonConfig.Logger)
|
|
}
|
|
|
|
if commonConfig.Registry == nil {
|
|
commonConfig.Registry = &conf.Registry{}
|
|
configList = append(configList, commonConfig.Registry)
|
|
}
|
|
|
|
if commonConfig.Oss == nil {
|
|
commonConfig.Oss = &conf.OSS{}
|
|
configList = append(configList, commonConfig.Oss)
|
|
}
|
|
|
|
if commonConfig.Notify == nil {
|
|
commonConfig.Notify = &conf.Notification{}
|
|
configList = append(configList, commonConfig.Notify)
|
|
}
|
|
}
|