@@ -67,6 +67,40 @@ func (r *MCADReconciler) Apply(owner mf.Owner, params *MCADParams, template stri
6767 return nil
6868}
6969
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+
70104//+kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=mcads,verbs=get;list;watch;create;update;patch;delete
71105//+kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=mcads/status,verbs=get;update;patch
72106//+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.
118152 }
119153 } else {
120154 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 {
122156 return ctrl.Result {}, err
123157 }
124158 controllerutil .RemoveFinalizer (mcadCustomResource , finalizerName )
@@ -152,7 +186,10 @@ func (r *MCADReconciler) SetupWithManager(mgr ctrl.Manager) error {
152186}
153187
154188// 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+ }
157194 return nil
158195}
0 commit comments