in pkg/controller/shared_library/controller.go [81:115]
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.V(2).Info("Reconciling JenkinsSharedLibrary has been started")
var (
instance jenkinsApi.JenkinsSharedLibrary
result reconcile.Result
)
if err := r.client.Get(ctx, request.NamespacedName, &instance); err != nil {
if k8serrors.IsNotFound(err) {
reqLogger.Info("instance not found")
return result, nil
}
return result, fmt.Errorf("failed to get JenkinsSharedLibrary instance: %w", err)
}
if err := r.tryToReconcile(ctx, &instance); err != nil {
r.log.Error(err, "error during reconciliation", "instance", instance)
instance.Status.Value = err.Error()
result = reconcile.Result{RequeueAfter: helper.DefaultRequeueTime * time.Second}
} else {
instance.Status.Value = helper.StatusSuccess
}
if err := r.client.Status().Update(ctx, &instance); err != nil {
return result, fmt.Errorf("failed to update status: %w", err)
}
reqLogger.V(2).Info("Reconciling JenkinsSharedLibrary has been finished")
return result, nil
}