vm-import-controller/main.go
Gaurav Mehta bb1cef97a5 added debug logging and also change behaviour of controller when vm export from source fails to stop rather than keep trying
added more debug info

close lease earlier

stage vmware migration improvements

improve openstack migration to check uefi/tpm/secureboot from associated image

improve firmware lookup for openstack, and add ability to specify custom storage classes

fix storage class caching issue

drop need for sync

fix imports
2024-08-02 12:23:45 +10:00

65 lines
1.6 KiB
Go

package main
import (
"log"
"os"
harvesterv1beta1 "github.com/harvester/harvester/pkg/apis/harvesterhci.io/v1beta1"
"github.com/rancher/wrangler/pkg/signals"
"github.com/sirupsen/logrus"
"golang.org/x/sync/errgroup"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/tools/clientcmd"
kubevirtv1 "kubevirt.io/api/core/v1"
source "github.com/harvester/vm-import-controller/pkg/apis/migration.harvesterhci.io/v1beta1"
"github.com/harvester/vm-import-controller/pkg/controllers"
"github.com/harvester/vm-import-controller/pkg/server"
)
func init() {
var err error
scheme := runtime.NewScheme()
if err = source.AddToScheme(scheme); err != nil {
log.Fatalf("failed to add source scheme, %v", err)
}
if err = harvesterv1beta1.AddToScheme(scheme); err != nil {
log.Fatalf("failed to add harvesterv1beta1 scheme, %v", err)
}
if err = kubevirtv1.AddToScheme(scheme); err != nil {
log.Fatalf("failed to add kubevirtv1 scheme, %v", err)
}
debug := os.Getenv("DEBUG")
if debug == "true" || debug == "TRUE" {
logrus.SetLevel(logrus.DebugLevel)
}
}
func main() {
ctx := signals.SetupSignalContext()
loadingRules := clientcmd.NewDefaultClientConfigLoadingRules()
configOverrides := &clientcmd.ConfigOverrides{}
kubeConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(loadingRules, configOverrides)
config, err := kubeConfig.ClientConfig()
if err != nil {
log.Fatal(err)
}
eg, egctx := errgroup.WithContext(ctx)
eg.Go(func() error {
return controllers.Start(egctx, config)
})
eg.Go(func() error {
return server.NewServer(egctx)
})
err = eg.Wait()
if err != nil {
log.Fatal(err)
}
}