diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2021-10-15 12:38:39 +0300 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2021-10-15 12:38:39 +0300 |
| commit | 1edc1469024d3cb74473bd99959d5d1068229c39 (patch) | |
| tree | 72618e384626d9fc368994e3f24be9e9892d0610 /cmd/dserver | |
| parent | 4e1b7f6ff7e3f10bda852da90f7b62d5dbccd455 (diff) | |
| parent | c0332e8fa13f4939de17c856b2e71fd093847253 (diff) | |
merge from github.com/snonux/dtail
Diffstat (limited to 'cmd/dserver')
| -rw-r--r-- | cmd/dserver/main.go | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/cmd/dserver/main.go b/cmd/dserver/main.go index 07f5270..cf726cf 100644 --- a/cmd/dserver/main.go +++ b/cmd/dserver/main.go @@ -9,46 +9,48 @@ import ( _ "net/http/pprof" "os" "os/signal" + "sync" "syscall" "time" - "github.com/mimecast/dtail/internal/color" "github.com/mimecast/dtail/internal/config" - "github.com/mimecast/dtail/internal/io/logger" + "github.com/mimecast/dtail/internal/io/dlog" "github.com/mimecast/dtail/internal/server" + "github.com/mimecast/dtail/internal/source" "github.com/mimecast/dtail/internal/user" "github.com/mimecast/dtail/internal/version" ) // The evil begins here. func main() { - var cfgFile string - var debugEnable bool + var args config.Args + var color bool var displayVersion bool - var noColor bool var pprof int var shutdownAfter int - var sshPort int user.NoRootCheck() - flag.BoolVar(&debugEnable, "debug", false, "Activate debug messages") + flag.BoolVar(&color, "color", false, "Enable ANSII terminal colors") + flag.BoolVar(&config.ServerRelaxedAuthEnable, "relaxedAuth", false, + "Enable relaxced SSH auth mode (don't use in production!)") flag.BoolVar(&displayVersion, "version", false, "Display version") - flag.BoolVar(&config.ServerRelaxedAuthEnable, "relaxedAuth", false, "Enable relaxced SSH auth mode (don't use in production!)") - flag.BoolVar(&noColor, "noColor", false, "Disable ANSII terminal colors") + flag.IntVar(&args.SSHPort, "port", config.DefaultSSHPort, "SSH server port") flag.IntVar(&pprof, "pprof", -1, "Start PProf server this port") - flag.IntVar(&shutdownAfter, "shutdownAfter", 0, "Automatically shutdown after so many seconds") - flag.IntVar(&sshPort, "port", 2222, "SSH server port") - flag.StringVar(&cfgFile, "cfg", "", "Config file path") + flag.IntVar(&shutdownAfter, "shutdownAfter", 0, "Shutdown after so many seconds") + flag.StringVar(&args.ConfigFile, "cfg", "", "Config file path") + flag.StringVar(&args.LogDir, "logDir", "", "Log dir") + flag.StringVar(&args.Logger, "logger", config.DefaultServerLogger, "Logger name") + flag.StringVar(&args.LogLevel, "logLevel", config.DefaultLogLevel, "Log level") flag.Parse() - - config.Read(cfgFile, sshPort) - color.Colored = !noColor + args.NoColor = !color + config.Setup(source.Server, &args, flag.Args()) if displayVersion { version.PrintAndExit() } + version.Print() ctx, cancel := context.WithCancel(context.Background()) if shutdownAfter > 0 { @@ -66,21 +68,25 @@ func main() { } }() - logger.Start(ctx, logger.Modes{Server: true, Debug: debugEnable || config.Common.DebugEnable}) + var wg sync.WaitGroup + wg.Add(1) + dlog.Start(ctx, &wg, source.Server) if config.ServerRelaxedAuthEnable { - logger.Fatal("SSH relaxed-auth mode enabled") + dlog.Server.Fatal("SSH relaxed-auth mode enabled") } if pprof > -1 { - // For debugging purposes only + // Start of pprof server for development purposes only. pprofArgs := fmt.Sprintf("0.0.0.0:%d", pprof) - logger.Info("Starting PProf", pprofArgs) + dlog.Server.Info("Starting PProf", pprofArgs) go http.ListenAndServe(pprofArgs, nil) } serv := server.New() status := serv.Start(ctx) - logger.Flush() + cancel() + + wg.Wait() os.Exit(status) } |
