@@ -502,6 +502,16 @@ func (r *ReconcileArgoCD) deleteImageUpdaterClusterRBAC(cr *argoproj.ArgoCD) err
502502 return err
503503 }
504504 } else {
505+ switch o := obj .(type ) {
506+ case * rbacv1.ClusterRole :
507+ if ! argoutil .CheckClusterRoleOwnership (o , cr ) {
508+ continue
509+ }
510+ case * rbacv1.ClusterRoleBinding :
511+ if ! argoutil .CheckClusterRoleBindingOwnership (o , cr ) {
512+ continue
513+ }
514+ }
505515 argoutil .LogResourceDeletion (log , obj , "IMAGE_UPDATER_WATCH_NAMESPACES is no longer \" *\" " )
506516 if err := r .Delete (context .TODO (), obj ); err != nil && ! errors .IsNotFound (err ) {
507517 return err
@@ -732,6 +742,9 @@ func (r *ReconcileArgoCD) reconcileRoleHelper(cr *argoproj.ArgoCD, desiredRole c
732742
733743 // role exists but shouldn't, so it should be deleted
734744 if ! cr .Spec .ImageUpdater .Enabled {
745+ if clusterRole , ok := existingRole .(* rbacv1.ClusterRole ); ok && ! argoutil .CheckClusterRoleOwnership (clusterRole , cr ) {
746+ return nil , nil
747+ }
735748 argoutil .LogResourceDeletion (log , existingRole , "image updater is disabled" )
736749 return nil , r .Delete (context .TODO (), existingRole )
737750 }
@@ -814,6 +827,9 @@ func (r *ReconcileArgoCD) reconcileRoleBindingHelper(cr *argoproj.ArgoCD, desire
814827
815828 // roleBinding exists but shouldn't, so it should be deleted
816829 if ! cr .Spec .ImageUpdater .Enabled {
830+ if clusterRoleBinding , ok := existingRoleBinding .(* rbacv1.ClusterRoleBinding ); ok && ! argoutil .CheckClusterRoleBindingOwnership (clusterRoleBinding , cr ) {
831+ return nil
832+ }
817833 argoutil .LogResourceDeletion (log , existingRoleBinding , "image updater is disabled" )
818834 return r .Delete (context .TODO (), existingRoleBinding )
819835 }
0 commit comments