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 "tangled.org/core/appview/web" 11 tlog "tangled.org/core/log" 12) 13 14func main() { 15 ctx := context.Background() 16 logger := tlog.New("appview") 17 ctx = tlog.IntoContext(ctx, logger) 18 19 c, err := config.LoadConfig(ctx) 20 if err != nil { 21 logger.Error("failed to load config", "error", err) 22 return 23 } 24 25 state, err := state.Make(ctx, c) 26 defer func() { 27 if err := state.Close(); err != nil { 28 logger.Error("failed to close state", "err", err) 29 } 30 }() 31 32 if err != nil { 33 logger.Error("failed to start appview", "err", err) 34 os.Exit(-1) 35 } 36 37 logger.Info("starting server", "address", c.Core.ListenAddr) 38 39 if err := http.ListenAndServe(c.Core.ListenAddr, web.RouterFromState(state)); err != nil { 40 logger.Error("failed to start appview", "err", err) 41 } 42}