func()

in pkg/controller/jenkins_authorizationrolemapping/controller.go [69:105]


func (r *Reconcile) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
	reqLogger := r.log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name)
	reqLogger.Info("Reconciling JenkinsAuthorizationRoleMapping has been started")

	instance := new(jenkinsApi.JenkinsAuthorizationRoleMapping)

	if err := r.client.Get(ctx, request.NamespacedName, instance); err != nil {
		if k8serrors.IsNotFound(err) {
			reqLogger.Info("instance not found")

			return reconcile.Result{}, nil
		}

		return reconcile.Result{}, fmt.Errorf("failed to get JenkinsAuthorizationRoleMapping instance %q: %w", request.NamespacedName, err)
	}

	defaultRequeueResult := reconcile.Result{RequeueAfter: helper.DefaultRequeueTime * time.Second}

	jc, err := r.jenkinsClientFactory.MakeNewClient(&instance.ObjectMeta, instance.Spec.OwnerName)
	if err != nil {
		r.log.Error(err, "error during client creation", "instance", instance)

		return defaultRequeueResult, fmt.Errorf("failed to create gojenkins client: %w", err)
	}

	if err := r.tryToReconcile(ctx, instance, jc); err != nil {
		r.log.Error(err, "error during reconciliation", "instance", instance)
		r.updateInstanceStatus(ctx, instance, err.Error())

		return defaultRequeueResult, nil
	}

	r.updateInstanceStatus(ctx, instance, helper.StatusSuccess)
	reqLogger.Info("Reconciling JenkinsAuthorizationRoleMapping has been finished")

	return reconcile.Result{}, nil
}