initial commit
This commit is contained in:
commit
f48fa210bb
49 changed files with 4058 additions and 0 deletions
58
cmd/goacc/main.go
Normal file
58
cmd/goacc/main.go
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
// Copyright (C) 2022 Marius Schellenberger
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"git.giftfish.de/ston1th/goacc/pkg/core"
|
||||
"git.giftfish.de/ston1th/goacc/pkg/server"
|
||||
"github.com/go-logr/logr"
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/klog/v2/klogr"
|
||||
)
|
||||
|
||||
var (
|
||||
version string
|
||||
config string
|
||||
|
||||
log logr.Logger
|
||||
)
|
||||
|
||||
func main() {
|
||||
klog.InitFlags(nil)
|
||||
flag.StringVar(&config, "config", "", "path to config file")
|
||||
flag.Parse()
|
||||
|
||||
log = klogr.New().WithName("main")
|
||||
log.Info("starting goacc", "version", version)
|
||||
cfg, err := core.LoadConfig(config)
|
||||
if err != nil {
|
||||
klog.Fatalf("init failed: %s", err)
|
||||
}
|
||||
|
||||
srv, err := server.NewServer(klogr.New().WithName("srv"), cfg)
|
||||
if err != nil {
|
||||
klog.Fatalf("init failed: %s", err)
|
||||
}
|
||||
|
||||
err = srv.Start(klogr.New().WithName("db"))
|
||||
if err != nil {
|
||||
klog.Fatalf("init failed: %s", err)
|
||||
}
|
||||
|
||||
sigs := make(chan os.Signal, 1)
|
||||
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
|
||||
<-sigs
|
||||
log.Info("goacc shutdown initiated")
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
|
||||
srv.Shutdown(ctx)
|
||||
cancel()
|
||||
log.Info("goacc shutdown completed")
|
||||
os.Exit(0)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue