package main import ( "fmt" "log" "net/http" "codeberg.org/maxwelljensen/legit/internal/config" "codeberg.org/maxwelljensen/legit/internal/routes" "github.com/alexflint/go-arg" ) var ( version = "dev" buildDate = "unknown" ) type args struct { Config string `arg:"--config" default:"./config.yaml" help:"path to config file"` } func (args) Version() string { return fmt.Sprintf("legit %s (built %s)", version, buildDate) } func main() { var a args arg.MustParse(&a) c, err := config.Read(a.Config) if err != nil { log.Fatal(err) } if err := UnveilPaths([]string{ c.Dirs.Static, c.Repo.ScanPath, c.Dirs.Templates, }, "r"); err != nil { log.Fatalf("unveil: %s", err) } mux := routes.Handlers(c) addr := fmt.Sprintf("%s:%d", c.Server.Host, c.Server.Port) log.Println("starting server on", addr) log.Fatal(http.ListenAndServe(addr, mux)) }