优化结构
This commit is contained in:
+18
-27
@@ -10,11 +10,6 @@ import (
|
||||
|
||||
"kra/internal/app"
|
||||
"kra/internal/config"
|
||||
"kra/internal/data"
|
||||
"kra/internal/global"
|
||||
mqintegration "kra/internal/integration/mq"
|
||||
"kra/internal/integration/storage"
|
||||
websocketintegration "kra/internal/integration/websocket"
|
||||
"kra/internal/server/router"
|
||||
"kra/internal/service"
|
||||
"kra/internal/service/dto"
|
||||
@@ -43,6 +38,14 @@ var (
|
||||
id, _ = os.Hostname()
|
||||
)
|
||||
|
||||
// Service identity reported to logs, health output, and the API documentation.
|
||||
// A plain `go run` leaves the ldflags empty, so these are the fallbacks.
|
||||
const (
|
||||
appName = "Kra Admin"
|
||||
appDescription = "Kratos 管理后台服务"
|
||||
defaultVersion = "v0.0.0-dev"
|
||||
)
|
||||
|
||||
func init() {
|
||||
flag.StringVar(&flagconf, "conf", "./configs", "config path, eg: -conf config.yaml")
|
||||
}
|
||||
@@ -56,27 +59,7 @@ func runtimeContributions(systemRoutes *router.Routes, systemTasks *worker.TaskM
|
||||
}
|
||||
}
|
||||
|
||||
func installGlobalResources(logger *slog.Logger, dataStore *data.Data, fileStorage *storage.Reloadable, broker *mqintegration.Reloadable, websocket *websocketintegration.Server, scheduler *worker.TaskScheduler) *global.ResourceRegistry {
|
||||
install := func() {
|
||||
global.Install(global.Resources{
|
||||
Logger: logger,
|
||||
DB: dataStore.DB(),
|
||||
NamedDBs: dataStore.NamedDatabases(),
|
||||
Redis: dataStore.RedisClient(),
|
||||
NamedRedis: dataStore.NamedRedisClients(),
|
||||
Mongo: dataStore.MongoClient(),
|
||||
Storage: fileStorage,
|
||||
MQ: broker,
|
||||
WebSocket: websocket,
|
||||
Scheduler: scheduler,
|
||||
})
|
||||
}
|
||||
dataStore.SetResourceHook(install)
|
||||
install()
|
||||
return global.DefaultRegistry()
|
||||
}
|
||||
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *service.AuditRecorder, loggerControl *logging.ReloadableLogger, _ mq.Client, _ *global.ResourceRegistry) *kratos.App {
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *service.AuditRecorder, loggerControl *logging.ReloadableLogger, _ mq.Client) *kratos.App {
|
||||
if audit != nil && loggerControl != nil {
|
||||
loggerControl.SetErrorSink(logging.ErrorSinkFunc(func(ctx context.Context, entry logging.ErrorEntry) error {
|
||||
return audit.CreateErrorRequest(ctx, &dto.ErrorRecordRequest{Form: entry.Form, Info: entry.Info, Level: entry.Level, RequestID: entry.RequestID, TraceID: entry.TraceID})
|
||||
@@ -86,7 +69,7 @@ func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskSc
|
||||
kratos.ID(id),
|
||||
kratos.Name(Name),
|
||||
kratos.Version(Version),
|
||||
kratos.Metadata(map[string]string{}),
|
||||
kratos.Metadata(map[string]string{"description": appDescription}),
|
||||
kratos.Logger(logger),
|
||||
kratos.Server(
|
||||
hs,
|
||||
@@ -135,6 +118,14 @@ func swaggerAddress(server *config.Server, admin *config.Admin) string {
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
// A plain `go run` leaves the ldflags empty, so fall back to the declared
|
||||
// identity rather than reporting a blank service.
|
||||
if Name == "" {
|
||||
Name = appName
|
||||
}
|
||||
if Version == "" {
|
||||
Version = defaultVersion
|
||||
}
|
||||
runtime, err := config.LoadStore(flagconf)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
||||
Reference in New Issue
Block a user