1package main
2
3import (
4 "context"
5 "log"
6 "log/slog"
7 "net/http"
8 "os"
9
10 "tangled.org/core/appview/config"
11 "tangled.org/core/appview/state"
12)
13
14func main() {
15 slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, nil)))
16
17 ctx := context.Background()
18
19 c, err := config.LoadConfig(ctx)
20 if err != nil {
21 log.Println("failed to load config", "error", err)
22 return
23 }
24
25 state, err := state.Make(ctx, c)
26 defer func() {
27 log.Println(state.Close())
28 }()
29
30 if err != nil {
31 log.Fatal(err)
32 }
33
34 log.Println("starting server on", c.Core.ListenAddr)
35 log.Println(http.ListenAndServe(c.Core.ListenAddr, state.Router()))
36}