// Команда storage-agent — внутренний привилегированный сервис монтирования хранилищ. package main import ( "context" "log/slog" "os" "os/signal" "syscall" "pipu/api/internal/buildinfo" "pipu/api/internal/platform/config" "pipu/api/internal/platform/httpx" "pipu/api/internal/storageagent" ) func main() { if err := run(); err != nil { slog.Error("storage-agent stopped", "err", err) os.Exit(1) } } func run() error { cfg, err := config.Load[config.StorageAgent]() if err != nil { return err } log := httpx.NewLogger(cfg.LogLevel) slog.SetDefault(log) ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) defer stop() srv := httpx.NewServer(cfg.HTTPAddr, storageagent.NewRouter(log, cfg.InternalToken, cfg.LibraryRoot)) log.Info("starting", "version", buildinfo.Version) return httpx.Serve(ctx, log, srv, cfg.ShutdownTimeout) }