package main import ( "bytes" "flag" "fmt" "log" "os" "time" "github.com/bergabruh/stats-gateway/internal/auth" ) func main() { keyPath := flag.String("key", "/etc/stats-gateway/jwt.key", "path to HMAC secret key file") subject := flag.String("sub", "", "client-id (required)") days := flag.Int("days", 90, "token validity in days") flag.Parse() if *subject == "" { log.Fatal("--sub required") } secret, err := os.ReadFile(*keyPath) if err != nil { log.Fatalf("read key: %v", err) } tok, err := auth.Issue(bytes.TrimSpace(secret), *subject, "tunnel", time.Duration(*days)*24*time.Hour) if err != nil { log.Fatal(err) } fmt.Println(tok) }