func SetupMembership(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter) error {
	name := managed.ControllerName(v1alpha1.MembershipGroupKind)

	return ctrl.NewControllerManagedBy(mgr).
		Named(name).
		WithOptions(controller.Options{
			RateLimiter: ratelimiter.NewDefaultManagedRateLimiter(rl),
		}).
		For(&v1alpha1.Membership{}).
		Complete(managed.NewReconciler(mgr,
			resource.ManagedKind(v1alpha1.MembershipGroupVersionKind),
			managed.WithExternalConnecter(&connector{client: mgr.GetClient(), newClientFn: ghclient.NewClient}),
			managed.WithConnectionPublishers(),
			managed.WithReferenceResolver(managed.NewAPISimpleReferenceResolver(mgr.GetClient())),
			managed.WithInitializers(managed.NewDefaultProviderConfig(mgr.GetClient())),
			managed.WithLogger(l.WithValues("controller", name)),
			managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name)))))
}
// SetupMembership adds a controller that reconciles Memberships.
SetupMembership adds a controller that reconciles Memberships.
// SetupMembership adds a controller that reconciles Memberships .
func SetupMembership(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter) error {
	name := managed.ControllerName(v1alpha1.MembershipGroupKind)
	return ctrl.NewControllerManagedBy(mgr).
		Named(name).
		WithOptions(controller.Options{
			RateLimiter: ratelimiter.NewDefaultManagedRateLimiter(rl),
		}).
		For(&v1alpha1.Membership{}).
		Complete(managed.NewReconciler(mgr,
			resource.ManagedKind(v1alpha1.MembershipGroupVersionKind),
			managed.WithExternalConnecter(&connector{client: mgr.GetClient(), newClientFn: ghclient.NewClient}),
			managed.WithConnectionPublishers(),
			managed.WithReferenceResolver(managed.NewAPISimpleReferenceResolver(mgr.GetClient())),
			managed.WithInitializers(managed.NewDefaultProviderConfig(mgr.GetClient())),
			managed.WithLogger(l.WithValues("controller", name)),
			managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name)))))
}
func SetupMembership ( mgr ctrl . Manager , l logging . Logger , rl workqueue . RateLimiter ) error { name := managed . ControllerName ( v1alpha1 . MembershipGroupKind ) return ctrl . NewControllerManagedBy ( mgr ) . Named ( name ) . WithOptions ( controller . Options { RateLimiter : ratelimiter . NewDefaultManagedRateLimiter ( rl ) , } ) . For ( & v1alpha1 . Membership { } ) . Complete ( managed . NewReconciler ( mgr , resource . ManagedKind ( v1alpha1 . MembershipGroupVersionKind ) , managed . WithExternalConnecter ( & connector { client : mgr . GetClient ( ) , newClientFn : ghclient . NewClient } ) , managed . WithConnectionPublishers ( ) , managed . WithReferenceResolver ( managed . NewAPISimpleReferenceResolver ( mgr . GetClient ( ) ) ) , managed . WithInitializers ( managed . NewDefaultProviderConfig ( mgr . GetClient ( ) ) ) , managed . WithLogger ( l . WithValues ( " " , name ) ) , managed . WithRecorder ( event . NewAPIRecorder ( mgr . GetEventRecorderFor ( name ) ) ) ) ) }
SetupMembership adds a controller that reconciles Memberships.
SetupMembership adds a controller that reconciles Memberships .