forked from
tangled.org/core
fork
Configure Feed
Select the types of activity you want to include in your feed.
this repo has no description
fork
Configure Feed
Select the types of activity you want to include in your feed.
1package main
2
3import (
4 "context"
5 "net/http"
6
7 "tangled.sh/tangled.sh/core/api/tangled"
8 "tangled.sh/tangled.sh/core/jetstream"
9 "tangled.sh/tangled.sh/core/knotserver"
10 "tangled.sh/tangled.sh/core/knotserver/config"
11 "tangled.sh/tangled.sh/core/knotserver/db"
12 "tangled.sh/tangled.sh/core/log"
13 "tangled.sh/tangled.sh/core/rbac"
14
15 _ "net/http/pprof"
16)
17
18func main() {
19 ctx := context.Background()
20 // ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
21 // defer stop()
22
23 l := log.New("knotserver")
24
25 c, err := config.Load(ctx)
26 if err != nil {
27 l.Error("failed to load config", "error", err)
28 return
29 }
30
31 if c.Server.Dev {
32 l.Info("running in dev mode, signature verification is disabled")
33 }
34
35 db, err := db.Setup(c.Server.DBPath)
36 if err != nil {
37 l.Error("failed to setup db", "error", err)
38 return
39 }
40
41 e, err := rbac.NewEnforcer(c.Server.DBPath)
42 if err != nil {
43 l.Error("failed to setup rbac enforcer", "error", err)
44 return
45 }
46
47 e.E.EnableAutoSave(true)
48
49 jc, err := jetstream.NewJetstreamClient(c.Server.JetstreamEndpoint, "knotserver", []string{
50 tangled.PublicKeyNSID,
51 tangled.KnotMemberNSID,
52 }, nil, l, db, true)
53 if err != nil {
54 l.Error("failed to setup jetstream", "error", err)
55 }
56
57 mux, err := knotserver.Setup(ctx, c, db, e, jc, l)
58 if err != nil {
59 l.Error("failed to setup server", "error", err)
60 return
61 }
62 imux := knotserver.Internal(ctx, db, e)
63
64 l.Info("starting internal server", "address", c.Server.InternalListenAddr)
65 go http.ListenAndServe(c.Server.InternalListenAddr, imux)
66
67 l.Info("starting main server", "address", c.Server.ListenAddr)
68 l.Error("server error", "error", http.ListenAndServe(c.Server.ListenAddr, mux))
69
70 return
71}