func()

in pkg/controller/common/resource_reconciler.go [60:89]


func (r *resourceReconciler) tick(ctx context.Context) error {
	var err error
	start := time.Now()
	r.logger.Info("starting to reconcile resources")
	defer func() {
		r.logger.Info("finished reconciling resources", "latencySec", time.Since(start).Seconds())

		metrics.HandleControllerReconcileMetrics(r.name, ctrl.Result{}, err)
	}()

	for _, res := range r.resources {
		lgr := r.logger.WithValues("name", res.GetName(), "namespace", res.GetNamespace(), "kind", res.GetObjectKind().GroupVersionKind())
		copy := res.DeepCopyObject().(client.Object)
		if copy.GetDeletionTimestamp() != nil {
			lgr.Info("deleting resource")
			if err = r.client.Delete(ctx, copy); err != nil && !k8serrors.IsNotFound(err) {
				r.logger.Error(err, "deleting unneeded resources")
			}
			continue
		}

		lgr.Info("upserting resource")
		if err = util.Upsert(ctx, r.client, copy); err != nil {
			r.logger.Error(err, "upserting resources")
			return err
		}
	}

	return nil
}