@@ -67,6 +67,40 @@ func (r *MCADReconciler) Apply(owner mf.Owner, params *MCADParams, template stri
67
67
return nil
68
68
}
69
69
70
+ func (r * MCADReconciler ) ApplyWithoutOwner (params * MCADParams , template string , fns ... mf.Transformer ) error {
71
+ tmplManifest , err := config .Manifest (r .Client , r .TemplatesPath + template , params , template , r .Log )
72
+ if err != nil {
73
+ return fmt .Errorf ("error loading template yaml: %w" , err )
74
+ }
75
+
76
+ tmplManifest , err = tmplManifest .Transform (fns ... )
77
+ if err != nil {
78
+ return err
79
+ }
80
+
81
+ if err = tmplManifest .Apply (); err != nil {
82
+ return err
83
+ }
84
+ return nil
85
+ }
86
+
87
+ func (r * MCADReconciler ) DeleteResource (params * MCADParams , template string , fns ... mf.Transformer ) error {
88
+ tmplManifest , err := config .Manifest (r .Client , r .TemplatesPath + template , params , template , r .Log )
89
+ if err != nil {
90
+ return fmt .Errorf ("error loading template yaml: %w" , err )
91
+ }
92
+
93
+ tmplManifest , err = tmplManifest .Transform (fns ... )
94
+ if err != nil {
95
+ return err
96
+ }
97
+
98
+ if err = tmplManifest .Delete (); err != nil {
99
+ return err
100
+ }
101
+ return nil
102
+ }
103
+
70
104
//+kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=mcads,verbs=get;list;watch;create;update;patch;delete
71
105
//+kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=mcads/status,verbs=get;update;patch
72
106
//+kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=mcads/finalizers,verbs=update
@@ -118,7 +152,7 @@ func (r *MCADReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.
118
152
}
119
153
} else {
120
154
if controllerutil .ContainsFinalizer (mcadCustomResource , finalizerName ) {
121
- if err := r .cleanUpClusterResources (ctx , req , mcadCustomResource , params ); err != nil {
155
+ if err := r .cleanUpOwnerLessResources (ctx , req , mcadCustomResource , params ); err != nil {
122
156
return ctrl.Result {}, err
123
157
}
124
158
controllerutil .RemoveFinalizer (mcadCustomResource , finalizerName )
@@ -152,7 +186,10 @@ func (r *MCADReconciler) SetupWithManager(mgr ctrl.Manager) error {
152
186
}
153
187
154
188
// cleanUpClusterResources will be responsible for deleting objects that do not have owner references set
155
- func (r * MCADReconciler ) cleanUpClusterResources (ctx context.Context , req ctrl.Request , mcad * codeflarev1alpha1.MCAD , params * MCADParams ) error {
156
-
189
+ func (r * MCADReconciler ) cleanUpOwnerLessResources (ctx context.Context , req ctrl.Request , mcad * codeflarev1alpha1.MCAD , params * MCADParams ) error {
190
+ err := r .deleteOwnerLessObjects (params )
191
+ if err != nil {
192
+ return err
193
+ }
157
194
return nil
158
195
}
0 commit comments