Files
kratos-bootstrap/bootstrap.go
2023-10-26 18:47:25 +08:00

37 lines
832 B
Go

package bootstrap
import (
"fmt"
"github.com/go-kratos/kratos/v2/log"
"github.com/go-kratos/kratos/v2/registry"
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
)
// Bootstrap 应用引导启动
func Bootstrap(serviceInfo *ServiceInfo) (*conf.Bootstrap, log.Logger, registry.Registrar) {
// inject command flags
Flags := NewCommandFlags()
Flags.Init()
var err error
// load configs
if err = LoadBootstrapConfig(Flags.Conf); err != nil {
panic(fmt.Sprintf("load config failed: %v", err))
}
// init logger
ll := NewLoggerProvider(commonConfig.Logger, serviceInfo)
// init registrar
reg := NewRegistry(commonConfig.Registry)
// init tracer
if err = NewTracerProvider(commonConfig.Trace, serviceInfo); err != nil {
panic(fmt.Sprintf("init tracer failed: %v", err))
}
return commonConfig, ll, reg
}