Files
galaxy-game/user/cmd/userservice/main.go
T
2026-04-10 19:05:02 +02:00

46 lines
725 B
Go

package main
import (
"context"
"fmt"
"os"
"os/signal"
"syscall"
"galaxy/user/internal/app"
"galaxy/user/internal/config"
"galaxy/user/internal/logging"
)
func main() {
if err := run(); err != nil {
_, _ = fmt.Fprintf(os.Stderr, "userservice: %v\n", err)
os.Exit(1)
}
}
func run() error {
cfg, err := config.LoadFromEnv()
if err != nil {
return err
}
logger, err := logging.New(cfg.Logging.Level)
if err != nil {
return err
}
rootCtx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()
runtime, err := app.NewRuntime(rootCtx, cfg, logger)
if err != nil {
return err
}
defer func() {
_ = runtime.Close()
}()
return runtime.Run(rootCtx)
}