Files
canada-kaktus/cmd/main.go
Tobias Trabelsi 79fd7ff3b7
All checks were successful
Gitea Docker Build Demo / Test (push) Successful in 1m4s
Gitea Docker Build Demo / Build_Image (push) Successful in 1m23s
fix(): explicitly register cilium schema
2025-10-07 09:17:22 +02:00

67 lines
1.5 KiB
Go

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()
}()
err = internal.RegisterCiliumCrd()
if err != nil {
log.WithFields(log.Fields{
"Caller": "Main",
}).Fatal(fmt.Sprintf("Error registering Cilium CRD: %s", err.Error()))
}
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)
}
}