func()

in tpu-provisioner/internal/controller/creation_controller.go [97:117]


func (r *CreationReconciler) SetupWithManager(mgr ctrl.Manager) error {
	return ctrl.NewControllerManagedBy(mgr).
		For(&corev1.Pod{}).
		WithOptions(controller.Options{
			MaxConcurrentReconciles: r.Concurrency,
		}).
		WithEventFilter(predicate.NewPredicateFuncs(func(object client.Object) bool {
			// Only reconcile pods which meet the conditions defined below.
			pod, ok := object.(*corev1.Pod)
			return ok &&
				partOfJobSet(pod) &&
				isLeaderPod(pod) &&
				isPending(pod) &&
				isUnschedulable(pod) &&
				doesRequestResource(pod, r.PodCriteria.ResourceType) &&
				hasNodeSelectors(pod, cloud.GKETPUNodeSelector) &&
				!autoProvisioningDisabled(pod) &&
				!podDeleted(pod)
		})).
		Complete(r)
}