func RegisterPackageReconciler()

in controllers/package_controller.go [72:104]


func RegisterPackageReconciler(mgr ctrl.Manager) (err error) {
	log := ctrl.Log.WithName(packageName)
	manager := packages.NewManager()
	cfg := mgr.GetConfig()

	secretAuth, err := auth.NewECRSecret(cfg)
	if err != nil {
		return err
	}

	tcc := auth.NewTargetClusterClient(log, cfg, mgr.GetClient())
	helmDriver := driver.NewHelm(log, secretAuth, tcc)

	puller := artifacts.NewRegistryPuller(log)
	registryClient := bundle.NewRegistryClient(puller)
	managerClient := bundle.NewManagerClient(mgr.GetClient())
	bundleManager := bundle.NewBundleManager(log, registryClient, managerClient, tcc, config.GetGlobalConfig())
	reconciler := NewPackageReconciler(
		mgr.GetClient(),
		mgr.GetScheme(),
		helmDriver,
		manager,
		bundleManager,
		managerClient,
		log,
	)

	return ctrl.NewControllerManagedBy(mgr).
		For(&api.Package{}).
		Watches(&api.PackageBundle{},
			handler.EnqueueRequestsFromMapFunc(reconciler.mapBundleChangesToPackageUpdate)).
		Complete(reconciler)
}