forked from
tangled.org/core
Monorepo for Tangled — https://tangled.org
1package main
2
3import (
4 "context"
5 "net/http"
6 "os"
7
8 "tangled.org/core/appview/config"
9 "tangled.org/core/appview/state"
10 tlog "tangled.org/core/log"
11)
12
13func main() {
14 ctx := context.Background()
15 logger := tlog.New("appview")
16 ctx = tlog.IntoContext(ctx, logger)
17
18 c, err := config.LoadConfig(ctx)
19 if err != nil {
20 logger.Error("failed to load config", "error", err)
21 return
22 }
23
24 state, err := state.Make(ctx, c)
25 defer func() {
26 if err := state.Close(); err != nil {
27 logger.Error("failed to close state", "err", err)
28 }
29 }()
30
31 if err != nil {
32 logger.Error("failed to start appview", "err", err)
33 os.Exit(-1)
34 }
35
36 logger.Info("starting server", "address", c.Core.ListenAddr)
37
38 if err := http.ListenAndServe(c.Core.ListenAddr, state.Router()); err != nil {
39 logger.Error("failed to start appview", "err", err)
40 }
41}