@@ -106,6 +106,32 @@ func (r *IntegrityShieldReconciler) createOrUpdateCRD(instance *apiv1alpha1.Inte
106
106
107
107
}
108
108
109
+ func (r * IntegrityShieldReconciler ) deleteCRD (instance * apiv1alpha1.IntegrityShield , expected * extv1.CustomResourceDefinition ) (ctrl.Result , error ) {
110
+ ctx := context .Background ()
111
+ found := & extv1.CustomResourceDefinition {}
112
+
113
+ reqLogger := r .Log .WithValues (
114
+ "Instance.Name" , instance .Name ,
115
+ "CustomResourceDefinition.Name" , expected .Name )
116
+
117
+ err := r .Get (ctx , types.NamespacedName {Name : expected .Name }, found )
118
+
119
+ if err == nil {
120
+ reqLogger .Info (fmt .Sprintf ("Deleting the IShield CustomResourceDefinition %s" , expected .Name ))
121
+ err = r .Delete (ctx , found )
122
+ if err != nil {
123
+ reqLogger .Error (err , fmt .Sprintf ("Failed to delete the IShield CustomResourceDefinition %s" , expected .Name ))
124
+ return ctrl.Result {}, err
125
+ }
126
+ return ctrl.Result {Requeue : true , RequeueAfter : time .Second * 1 }, nil
127
+ } else if errors .IsNotFound (err ) {
128
+ return ctrl.Result {Requeue : true , RequeueAfter : time .Second * 1 }, nil
129
+ } else {
130
+ return ctrl.Result {}, err
131
+ }
132
+
133
+ }
134
+
109
135
func (r * IntegrityShieldReconciler ) createOrUpdateShieldConfigCRD (
110
136
instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
111
137
expected := res .BuildShieldConfigCRD (instance )
@@ -135,6 +161,35 @@ func (r *IntegrityShieldReconciler) createOrUpdateResourceSigningProfileCRD(
135
161
return r .createOrUpdateCRD (instance , expected )
136
162
}
137
163
164
+ func (r * IntegrityShieldReconciler ) deleteShieldConfigCRD (
165
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
166
+ expected := res .BuildShieldConfigCRD (instance )
167
+ return r .deleteCRD (instance , expected )
168
+ }
169
+
170
+ func (r * IntegrityShieldReconciler ) deleteSignerConfigCRD (
171
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
172
+ expected := res .BuildSignerConfigCRD (instance )
173
+ return r .deleteCRD (instance , expected )
174
+ }
175
+ func (r * IntegrityShieldReconciler ) deleteResourceSignatureCRD (
176
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
177
+ expected := res .BuildResourceSignatureCRD (instance )
178
+ return r .deleteCRD (instance , expected )
179
+ }
180
+
181
+ func (r * IntegrityShieldReconciler ) deleteHelmReleaseMetadataCRD (
182
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
183
+ expected := res .BuildHelmReleaseMetadataCRD (instance )
184
+ return r .deleteCRD (instance , expected )
185
+ }
186
+
187
+ func (r * IntegrityShieldReconciler ) deleteResourceSigningProfileCRD (
188
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
189
+ expected := res .BuildResourceSigningProfileCRD (instance )
190
+ return r .deleteCRD (instance , expected )
191
+ }
192
+
138
193
/**********************************************
139
194
140
195
CR
@@ -409,6 +464,33 @@ func (r *IntegrityShieldReconciler) createOrUpdateClusterRole(instance *apiv1alp
409
464
410
465
}
411
466
467
+ func (r * IntegrityShieldReconciler ) deleteClusterRole (instance * apiv1alpha1.IntegrityShield , expected * rbacv1.ClusterRole ) (ctrl.Result , error ) {
468
+ ctx := context .Background ()
469
+ found := & rbacv1.ClusterRole {}
470
+
471
+ reqLogger := r .Log .WithValues (
472
+ "Instance.Name" , instance .Name ,
473
+ "ClusterRole.Name" , expected .Name )
474
+
475
+ err := r .Get (ctx , types.NamespacedName {Name : expected .Name }, found )
476
+
477
+ if err == nil {
478
+ reqLogger .Info (fmt .Sprintf ("Deleting the IShield ClusterRole %s" , expected .Name ))
479
+ err = r .Delete (ctx , found )
480
+ if err != nil {
481
+ reqLogger .Error (err , fmt .Sprintf ("Failed to delete the IShield ClusterRole %s" , expected .Name ))
482
+ return ctrl.Result {}, err
483
+ }
484
+ return ctrl.Result {Requeue : true , RequeueAfter : time .Second * 1 }, nil
485
+ } else if errors .IsNotFound (err ) {
486
+
487
+ return ctrl.Result {Requeue : true , RequeueAfter : time .Second * 1 }, nil
488
+ } else {
489
+ return ctrl.Result {}, err
490
+ }
491
+
492
+ }
493
+
412
494
func (r * IntegrityShieldReconciler ) createOrUpdateClusterRoleBinding (instance * apiv1alpha1.IntegrityShield , expected * rbacv1.ClusterRoleBinding ) (ctrl.Result , error ) {
413
495
ctx := context .Background ()
414
496
found := & rbacv1.ClusterRoleBinding {}
@@ -451,6 +533,32 @@ func (r *IntegrityShieldReconciler) createOrUpdateClusterRoleBinding(instance *a
451
533
452
534
}
453
535
536
+ func (r * IntegrityShieldReconciler ) deleteClusterRoleBinding (instance * apiv1alpha1.IntegrityShield , expected * rbacv1.ClusterRoleBinding ) (ctrl.Result , error ) {
537
+ ctx := context .Background ()
538
+ found := & rbacv1.ClusterRoleBinding {}
539
+
540
+ reqLogger := r .Log .WithValues (
541
+ "Instance.Name" , instance .Name ,
542
+ "ClusterRoleBinding.Name" , expected .Name )
543
+
544
+ err := r .Get (ctx , types.NamespacedName {Name : expected .Name }, found )
545
+
546
+ if err == nil {
547
+ reqLogger .Info (fmt .Sprintf ("Deleting the IShield ClusterRoleBinding %s" , expected .Name ))
548
+ err = r .Delete (ctx , found )
549
+ if err != nil {
550
+ reqLogger .Error (err , fmt .Sprintf ("Failed to delete the IShield ClusterRoleBinding %s" , expected .Name ))
551
+ return ctrl.Result {}, err
552
+ }
553
+ return ctrl.Result {Requeue : true , RequeueAfter : time .Second * 1 }, nil
554
+ } else if errors .IsNotFound (err ) {
555
+ return ctrl.Result {Requeue : true , RequeueAfter : time .Second * 1 }, nil
556
+ } else {
557
+ return ctrl.Result {}, err
558
+ }
559
+
560
+ }
561
+
454
562
func (r * IntegrityShieldReconciler ) createOrUpdateRole (instance * apiv1alpha1.IntegrityShield , expected * rbacv1.Role ) (ctrl.Result , error ) {
455
563
ctx := context .Background ()
456
564
found := & rbacv1.Role {}
@@ -543,6 +651,12 @@ func (r *IntegrityShieldReconciler) createOrUpdateClusterRoleBindingForIShieldAd
543
651
return r .createOrUpdateClusterRoleBinding (instance , expected )
544
652
}
545
653
654
+ func (r * IntegrityShieldReconciler ) deleteClusterRoleBindingForIShieldAdmin (
655
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
656
+ expected := res .BuildClusterRoleBindingForIShieldAdmin (instance )
657
+ return r .deleteClusterRoleBinding (instance , expected )
658
+ }
659
+
546
660
func (r * IntegrityShieldReconciler ) createOrUpdateRoleBindingForIShieldAdmin (
547
661
instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
548
662
expected := res .BuildRoleBindingForIShieldAdmin (instance )
@@ -561,13 +675,25 @@ func (r *IntegrityShieldReconciler) createOrUpdateClusterRoleForIShieldAdmin(
561
675
return r .createOrUpdateClusterRole (instance , expected )
562
676
}
563
677
678
+ func (r * IntegrityShieldReconciler ) deleteClusterRoleForIShieldAdmin (
679
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
680
+ expected := res .BuildClusterRoleForIShieldAdmin (instance )
681
+ return r .deleteClusterRole (instance , expected )
682
+ }
683
+
564
684
// for ie
565
685
func (r * IntegrityShieldReconciler ) createOrUpdateClusterRoleBindingForIShield (
566
686
instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
567
687
expected := res .BuildClusterRoleBindingForIShield (instance )
568
688
return r .createOrUpdateClusterRoleBinding (instance , expected )
569
689
}
570
690
691
+ func (r * IntegrityShieldReconciler ) deleteClusterRoleBindingForIShield (
692
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
693
+ expected := res .BuildClusterRoleBindingForIShield (instance )
694
+ return r .deleteClusterRoleBinding (instance , expected )
695
+ }
696
+
571
697
func (r * IntegrityShieldReconciler ) createOrUpdateRoleBindingForIShield (
572
698
instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
573
699
expected := res .BuildRoleBindingForIShield (instance )
@@ -586,6 +712,12 @@ func (r *IntegrityShieldReconciler) createOrUpdateClusterRoleForIShield(
586
712
return r .createOrUpdateClusterRole (instance , expected )
587
713
}
588
714
715
+ func (r * IntegrityShieldReconciler ) deleteClusterRoleForIShield (
716
+ instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
717
+ expected := res .BuildClusterRoleForIShield (instance )
718
+ return r .deleteClusterRole (instance , expected )
719
+ }
720
+
589
721
func (r * IntegrityShieldReconciler ) createOrUpdatePodSecurityPolicy (instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
590
722
ctx := context .Background ()
591
723
expected := res .BuildPodSecurityPolicy (instance )
@@ -629,6 +761,33 @@ func (r *IntegrityShieldReconciler) createOrUpdatePodSecurityPolicy(instance *ap
629
761
630
762
}
631
763
764
+ // delete ishield-psp
765
+ func (r * IntegrityShieldReconciler ) deletePodSecurityPolicy (instance * apiv1alpha1.IntegrityShield ) (ctrl.Result , error ) {
766
+ ctx := context .Background ()
767
+ expected := res .BuildPodSecurityPolicy (instance )
768
+ found := & policyv1.PodSecurityPolicy {}
769
+
770
+ reqLogger := r .Log .WithValues (
771
+ "Instance.Name" , instance .Name ,
772
+ "PodSecurityPolicy.Name" , expected .Name )
773
+
774
+ err := r .Get (ctx , types.NamespacedName {Name : expected .Name }, found )
775
+
776
+ if err == nil {
777
+ reqLogger .Info ("Deleting the IShield PodSecurityPolicy" )
778
+ err = r .Delete (ctx , found )
779
+ if err != nil {
780
+ reqLogger .Error (err , "Failed to delete the IShield PodSecurityPolicy" )
781
+ return ctrl.Result {}, err
782
+ }
783
+ return ctrl.Result {Requeue : true , RequeueAfter : time .Second * 1 }, nil
784
+ } else if errors .IsNotFound (err ) {
785
+ return ctrl.Result {Requeue : true , RequeueAfter : time .Second * 1 }, nil
786
+ } else {
787
+ return ctrl.Result {}, err
788
+ }
789
+ }
790
+
632
791
/**********************************************
633
792
634
793
Secret
0 commit comments