package main import ( "embed" "flag" "log" "net" "net/http" "strconv" "alin.ovh/elgit/config" "alin.ovh/elgit/routes" ) //go:embed static/* var staticFiles embed.FS func main() { var cfg string flag.StringVar(&cfg, "config", "./config.yaml", "path to config file") flag.Parse() log.SetFlags(log.Lshortfile) c, err := config.Read(cfg) if err != nil { log.Fatal(err) } if err := UnveilPaths([]string{c.Repo.Root}, "r"); err != nil { log.Fatalf("unveil: %s", err) } mux := routes.Handlers(c, staticFiles) addr := net.JoinHostPort(c.Server.Host, strconv.FormatInt(int64(c.Server.Port), 10)) log.Println("starting server on", addr) log.Fatal(http.ListenAndServe(addr, mux)) }