From 313a3b6af682ccde6c1ab95add63c9b058360d56 Mon Sep 17 00:00:00 2001 From: ChronosX88 Date: Sat, 12 Oct 2019 17:24:58 +0400 Subject: [PATCH] refactor: Make a skeleton of main.go (openkeepd binary) --- .gitignore | 1 + cmd/openkeepd/main.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 cmd/openkeepd/main.go diff --git a/.gitignore b/.gitignore index f1c181e..d4fa212 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ # Output of the go coverage tool, specifically when used with LiteIDE *.out +/openkeepd diff --git a/cmd/openkeepd/main.go b/cmd/openkeepd/main.go new file mode 100644 index 0000000..6f51868 --- /dev/null +++ b/cmd/openkeepd/main.go @@ -0,0 +1,31 @@ +package main + +import ( + "os" + "os/signal" + "syscall" + + "github.com/sirupsen/logrus" +) + +var logger = logrus.New() + +func main() { + logger.Info("Starting openkeepd server...") + + logger.Info("Server successfully started!") + + // CTRL+C handler. + signalHandler := make(chan os.Signal, 1) + shutdownDone := make(chan bool, 1) + signal.Notify(signalHandler, os.Interrupt, syscall.SIGTERM) + go func() { + <-signalHandler + logger.Info("CTRL+C or SIGTERM received, shutting down openkeepd...") + shutdownDone <- true + }() + + <-shutdownDone + logger.Info("Server successfully shutted down") + os.Exit(0) +}