this repo has no description
1package main
2
3import (
4 "context"
5 "fmt"
6 "log"
7 "log/slog"
8 "net/http"
9 "os"
10
11 "github.com/sotangled/tangled/knotserver"
12 "github.com/sotangled/tangled/knotserver/config"
13 "github.com/sotangled/tangled/knotserver/db"
14)
15
16func main() {
17 ctx := context.Background()
18 // ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
19 // defer stop()
20
21 slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, nil)))
22
23 c, err := config.Load(ctx)
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(ctx, 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}