package main

import (
	"os"

	"k8s.io/component-base/cli"
	_ "k8s.io/component-base/logs/json/register" // for JSON log format registration
	controllerruntime "sigs.k8s.io/controller-runtime"
	_ "sigs.k8s.io/controller-runtime/pkg/metrics"

	"github.com/karmada-io/karmada/cmd/descheduler/app"
)

func main() {
	stopChan := controllerruntime.SetupSignalHandler().Done()
	command := app.NewDeschedulerCommand(stopChan)
	code := cli.Run(command)
	os.Exit(code)
}
