package main import ( "flag" "fmt" "net/http" "os" "github.com/longbin/agent-notify/internal/server" ) func cmdServer(args []string) error { fs := flag.NewFlagSet("server", flag.ExitOnError) listen := fs.String("listen", ":8080", "listen address") db := fs.String("db", "./agent-notify.db", "SQLite database path") token := fs.String("token", "", "API bearer token") _ = fs.Parse(args) tok := *token if tok == "" { tok = os.Getenv("AGENT_NOTIFY_TOKEN") } if tok == "" { return fmt.Errorf("--token or AGENT_NOTIFY_TOKEN is required") } store, err := server.Open(*db) if err != nil { return err } defer store.Close() handler := server.NewHandler(store, tok) fmt.Fprintf(os.Stderr, "agent-notify server listening on %s\n", *listen) return http.ListenAndServe(*listen, handler) }