package main import ( "fmt" "time" "git.uploadfilter24.eu/covidnetes/canada-kaktus/internal" "git.uploadfilter24.eu/covidnetes/canada-kaktus/internal/utils" 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") for { servers, err := internal.GetAllNodes(cfg) if err != nil { log.WithFields(log.Fields{ "Caller": "Main", }).Error(fmt.Sprintf("Error getting all Nodes: %s", err.Error())) } ips, err := internal.GetAllIps(servers) if err != nil { log.WithFields(log.Fields{ "Caller": "Main", }).Error(fmt.Sprintf("Error getting all IPs: %s", err.Error())) } err = internal.RecreateIPPoolCrd(cfg, "covidnetes-pool", ips) if err != nil { log.WithFields(log.Fields{ "Caller": "Main", }).Error(fmt.Sprintf("Error recreating IP Pool CRD: %s", err.Error())) } else { log.WithFields(log.Fields{ "Caller": "Main", }).Info("Successfully recreated IP Pool CRD") } time.Sleep(15 * time.Minute) } }