package main import ( "fmt" "os" "os/signal" "syscall" "time" "git.uploadfilter24.eu/covidnetes/k8s-cilium-node-label/internal/utils" "git.uploadfilter24.eu/covidnetes/k8s-cilium-node-label/internal" log "github.com/sirupsen/logrus" ) func main() { cfg, err := internal.GenConfig() utils.ConfigureLogger(cfg) if err != nil { log.WithFields(log.Fields{ "Caller": "Main", }).Fatal(fmt.Sprintf("Error generating Config: %s", err.Error())) } go func() { log.WithFields(log.Fields{ "Caller": "Main", }).Info("Starting Health Endpoint") internal.StartHealthEndpoint() }() log.WithFields(log.Fields{ "Caller": "Main", }).Info("Entering main event loop") stopCh := make(chan struct{}) go func() { err := internal.StartLeaseInformer(cfg, stopCh) if err != nil { log.WithFields(log.Fields{"Caller": "Main"}).Fatalf("Lease informer failed: %s", err.Error()) } }() sigCh := make(chan os.Signal, 1) signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM) s := <-sigCh log.WithFields(log.Fields{ "Caller": "Main", "Signal": s.String(), }).Info("Signal received, shutting down") close(stopCh) time.Sleep(2 * time.Second) }