main.go (view raw)
1package main
2
3import (
4 "flag"
5 "fmt"
6 "log"
7 "net/http"
8
9 "git.icyphox.sh/legit/config"
10 "git.icyphox.sh/legit/routes"
11)
12
13func main() {
14 var cfg string
15 flag.StringVar(&cfg, "config", "./config.yaml", "path to config file")
16 flag.Parse()
17
18 c, err := config.Read(cfg)
19 if err != nil {
20 log.Fatal(err)
21 }
22
23 if err := UnveilPaths([]string{
24 c.Dirs.Static,
25 c.Repo.ScanPath,
26 c.Dirs.Templates},
27 "r"); err != nil {
28 log.Fatalf("unveil: %s", err)
29 }
30
31 mux := routes.Handlers(c)
32 addr := fmt.Sprintf("%s:%d", c.Server.Host, c.Server.Port)
33 log.Println("starting server on", addr)
34 log.Fatal(http.ListenAndServe(addr, mux))
35}