/
main.go
72 lines (55 loc) · 1.33 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package main
import (
"os"
"os/signal"
"syscall"
"github.com/noptics/golog"
"github.com/noptics/streamer/registrygrpc"
"google.golang.org/grpc"
)
func main() {
var l golog.Logger
if len(os.Getenv("DEBUG")) != 0 {
l = golog.StdOut(golog.LEVEL_DEBUG)
} else {
l = golog.StdOut(golog.LEVEL_ERROR)
}
l.Init()
defer l.Finish()
c := newContext()
l.Info("starting server")
// Connect to the registry
registry := os.Getenv("REGISTRY_SERVICE")
if len(registry) == 0 {
l.Error("must provide REGISTRY_SERVICE")
os.Exit(1)
}
l.Infow("connecting to registry service", "addr", registry)
conn, err := grpc.Dial(registry, grpc.WithInsecure())
if err != nil {
l.Errorw("error connecting to registry service", "error", err.Error())
os.Exit(1)
}
defer conn.Close()
rc := registrygrpc.NewProtoRegistryClient(conn)
l.Info("successfully connected to the registry service")
errChan := make(chan error)
// start the rest server
rsport := os.Getenv("REST_PORT")
if rsport == "" {
rsport = "7786"
}
rs := NewRestServer(rc, rsport, errChan, l, c)
l.Info("started")
// go until told to stop
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGTERM, syscall.SIGINT)
select {
case <-sigs:
case <-errChan:
l.Infow("error", "error", err.Error())
}
l.Info("shutting down")
rs.Stop()
l.Info("finished")
}