this repo has no description
1package main
2
3import (
4 "flag"
5 "fmt"
6 "log"
7 "log/slog"
8 "net/http"
9 "os"
10
11 "github.com/icyphox/bild/config"
12 "github.com/icyphox/bild/db"
13 "github.com/icyphox/bild/knotserver"
14)
15
16func main() {
17 var cfg string
18 flag.StringVar(&cfg, "config", "./config.yaml", "path to config file")
19 flag.Parse()
20
21 slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, nil)))
22
23 c, err := config.Read(cfg)
24 if err != nil {
25 log.Fatal(err)
26 }
27 db, err := db.Setup(c.Server.DBPath)
28 if err != nil {
29 log.Fatalf("failed to setup db: %s", err)
30 }
31
32 mux, err := knotserver.Setup(c, db)
33 if err != nil {
34 log.Fatal(err)
35 }
36
37 addr := fmt.Sprintf("%s:%d", c.Server.Host, c.Server.Port)
38
39 log.Println("starting main server on", addr)
40 log.Fatal(http.ListenAndServe(addr, mux))
41}