in manager/main.go [169:265]
func setupReconcilers(ctx context.Context, setupLog logr.Logger, mgr ctrl.Manager) closable {
setupLog.Info("Reading CAPI providers")
providers, err := clusterapi.GetProviders(ctx, mgr.GetAPIReader())
if err != nil {
setupLog.Error(err, "unable to read installed providers")
os.Exit(1)
}
factory := controllers.NewFactory(ctrl.Log, mgr).
WithClusterReconciler(
providers,
).
WithVSphereDatacenterReconciler().
WithSnowMachineConfigReconciler().
WithNutanixDatacenterReconciler().
WithCloudStackDatacenterReconciler().
WithKubeadmControlPlaneReconciler().
WithMachineDeploymentReconciler().
WithControlPlaneUpgradeReconciler().
WithMachineDeploymentUpgradeReconciler().
WithNodeUpgradeReconciler()
reconcilers, err := factory.Build(ctx)
if err != nil {
setupLog.Error(err, "unable to build reconcilers")
os.Exit(1)
}
failed := false
setupLog.Info("Setting up cluster controller")
if err := (reconcilers.ClusterReconciler).SetupWithManager(mgr, setupLog); err != nil {
setupLog.Error(err, "unable to create controller", "controller", anywherev1.ClusterKind)
failed = true
}
setupLog.Info("Setting up vspheredatacenter controller")
if err := (reconcilers.VSphereDatacenterReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", anywherev1.VSphereDatacenterKind)
failed = true
}
setupLog.Info("Setting up snowmachineconfig controller")
if err := (reconcilers.SnowMachineConfigReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", anywherev1.SnowMachineConfigKind)
failed = true
}
setupLog.Info("Setting up nutanixdatacenter controller")
if err := (reconcilers.NutanixDatacenterReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", anywherev1.NutanixDatacenterKind)
failed = true
}
setupLog.Info("Setting up cloudstackdatacenter controller")
if err := (reconcilers.CloudStackDatacenterReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", anywherev1.CloudStackDatacenterKind)
failed = true
}
setupLog.Info("Setting up kubeadmcontrolplane controller")
if err := (reconcilers.KubeadmControlPlaneReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "KubeadmControlPlane")
}
setupLog.Info("Setting up machinedeployment controller")
if err := (reconcilers.MachineDeploymentReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "MachineDeployment")
failed = true
}
setupLog.Info("Setting up controlplaneupgrade controller")
if err := (reconcilers.ControlPlaneUpgradeReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", anywherev1.ControlPlaneUpgradeKind)
failed = true
}
setupLog.Info("Setting up machinedeploymentupgrade controller")
if err := (reconcilers.MachineDeploymentUpgradeReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", anywherev1.MachineDeploymentUpgradeKind)
failed = true
}
setupLog.Info("Setting up nodeupgrade controller")
if err := (reconcilers.NodeUpgradeReconciler).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", anywherev1.NodeUpgradeKind)
failed = true
}
if failed {
if err := factory.Close(ctx); err != nil {
setupLog.Error(err, "Failed closing controller factory")
}
os.Exit(1)
}
return factory
}