package cmd import ( "context" "fmt" "os" "os/signal" "syscall" "github.com/spf13/cobra" "printer.backend/internal/server" ) var serveCmd = &cobra.Command{ Use: "serve", Short: "Start API and admin dashboard HTTP servers", RunE: func(cmd *cobra.Command, args []string) error { ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) defer stop() cmd.Printf("API: http://%s\n", cfg.APIAddr()) cmd.Printf("Admin: http://%s\n", cfg.AdminAddr()) if err := server.Run(ctx, cfg); err != nil { return fmt.Errorf("server: %w", err) } cmd.Println("Server beendet.") return nil }, } func init() { rootCmd.AddCommand(serveCmd) }