aboutsummaryrefslogtreecommitdiff
path: root/server/main.go
diff options
context:
space:
mode:
authorJeff Halter <868228+jhalter@users.noreply.github.com>2021-07-29 08:42:33 -0700
committerJeff Halter <868228+jhalter@users.noreply.github.com>2021-07-29 08:42:33 -0700
commit0c0b2680077c1103609c87a652bcc2263460b1d7 (patch)
tree9968655a20d3caec9077b49db2473cbdb344cb71 /server/main.go
parent95753255a17026750f5b53cc470999785e0c515f (diff)
Re-organize cmd paths
Diffstat (limited to 'server/main.go')
-rw-r--r--server/main.go73
1 files changed, 0 insertions, 73 deletions
diff --git a/server/main.go b/server/main.go
deleted file mode 100644
index 772625b..0000000
--- a/server/main.go
+++ /dev/null
@@ -1,73 +0,0 @@
-package main
-
-import (
- "context"
- "flag"
- "fmt"
- "github.com/jhalter/mobius/hotline"
- "go.uber.org/zap"
- "go.uber.org/zap/zapcore"
- "os"
-)
-
-const (
- defaultConfigPath = "/usr/local/var/mobius/config/" // matches Homebrew default config location
- defaultPort = 5500
-)
-
-func main() {
- ctx, cancelRoot := context.WithCancel(context.Background())
-
- basePort := flag.Int("bind", defaultPort, "Bind address and port")
- configDir := flag.String("config", defaultConfigPath, "Path to config root")
- version := flag.Bool("version", false, "print version and exit")
- logLevel := flag.String("log-level", "info", "Log level")
- flag.Parse()
-
- if *version {
- fmt.Printf("v%s\n", hotline.VERSION)
- os.Exit(0)
- }
-
- zapLvl, ok := zapLogLevel[*logLevel]
- if !ok {
- fmt.Printf("Invalid log level %s. Must be debug, info, warn, or error.\n", *logLevel)
- os.Exit(0)
- }
-
- cores := []zapcore.Core{newStdoutCore(zapLvl)}
- l := zap.New(zapcore.NewTee(cores...))
- defer func() { _ = l.Sync() }()
- logger := l.Sugar()
-
- if _, err := os.Stat(*configDir); os.IsNotExist(err) {
- logger.Fatalw("Configuration directory not found", "path", configDir)
- }
-
- srv, err := hotline.NewServer(*configDir, "", *basePort, logger)
- if err != nil {
- logger.Fatal(err)
- }
-
- // Serve Hotline requests until program exit
- logger.Fatal(srv.ListenAndServe(ctx, cancelRoot))
-}
-
-func newStdoutCore(level zapcore.Level) zapcore.Core {
- encoderCfg := zap.NewProductionEncoderConfig()
- encoderCfg.TimeKey = "timestamp"
- encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder
-
- return zapcore.NewCore(
- zapcore.NewConsoleEncoder(encoderCfg),
- zapcore.Lock(os.Stdout),
- level,
- )
-}
-
-var zapLogLevel = map[string]zapcore.Level{
- "debug": zap.DebugLevel,
- "info": zap.InfoLevel,
- "warn": zap.WarnLevel,
- "error": zap.ErrorLevel,
-}