Files
kubescape/main.go
Matthias Bertschy b97f50ffb5 fix version handling and injection
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
2026-02-04 10:42:12 +01:00

42 lines
916 B
Go

package main
import (
"context"
"os"
"os/signal"
"syscall"
"github.com/kubescape/backend/pkg/versioncheck"
"github.com/kubescape/go-logger"
"github.com/kubescape/kubescape/v3/cmd"
)
// GoReleaser will fill these at build time
var (
version = "dev"
commit = "none"
date = "unknown"
)
func main() {
// Set the global build number for version checking
versioncheck.BuildNumber = version
// Capture interrupt signal
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()
// Handle interrupt signal
go func() {
<-ctx.Done()
// Perform cleanup or graceful shutdown here
logger.L().StopError("Received interrupt signal, exiting...")
// Clear the signal handler so that a second interrupt signal shuts down immediately
stop()
}()
if err := cmd.Execute(ctx, version, commit, date); err != nil {
stop()
logger.L().Fatal(err.Error())
}
}