in controllers/keycloakrealmrolebatch/keycloakrealmrolebatch_controller.go [69:114]
func (r *ReconcileKeycloakRealmRoleBatch) Reconcile(ctx context.Context, request reconcile.Request) (result reconcile.Result, resultErr error) {
log := ctrl.LoggerFrom(ctx)
log.Info("Reconciling KeycloakRealmRoleBatch")
var instance keycloakApi.KeycloakRealmRoleBatch
if err := r.client.Get(ctx, request.NamespacedName, &instance); err != nil {
if k8sErrors.IsNotFound(err) {
return
}
resultErr = errors.Wrap(err, "unable to get keycloak realm role batch from k8s")
return
}
if updated, err := r.applyDefaults(ctx, &instance); err != nil {
resultErr = fmt.Errorf("unable to apply default values: %w", err)
return
} else if updated {
return
}
if err := r.tryReconcile(ctx, &instance); err != nil {
instance.Status.Value = err.Error()
result.RequeueAfter = r.helper.SetFailureCount(&instance)
log.Error(err, "an error has occurred while handling keycloak realm role batch")
} else {
helper.SetSuccessStatus(&instance)
result.RequeueAfter = r.successReconcileTimeout
}
instanceDeleted := !controllerutil.ContainsFinalizer(&instance, keyCloakRealmRoleBatchOperatorFinalizerName) &&
instance.GetDeletionTimestamp() != nil
if !instanceDeleted {
if err := r.client.Status().Update(ctx, &instance); err != nil {
resultErr = err
}
}
log.Info("Reconciling done")
return
}