Skip to content

Commit c0d41e6

Browse files
committed
feat: implement finalizer logic in deployment and providersecret subroutines.
On-behalf-of: @SAP angel.kafazov@sap.com Signed-off-by: Angel Kafazov <akafazov@cst-bg.net>
1 parent e45dd7a commit c0d41e6

File tree

5 files changed

+163
-98
lines changed

5 files changed

+163
-98
lines changed

internal/controller/platformmesh_controller.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
corev1alpha1 "github.com/platform-mesh/platform-mesh-operator/api/v1alpha1"
3131
"github.com/platform-mesh/platform-mesh-operator/internal/config"
3232
"github.com/platform-mesh/platform-mesh-operator/pkg/subroutines"
33+
corev1 "k8s.io/api/core/v1"
3334
)
3435

3536
var (
@@ -67,6 +68,7 @@ func (r *PlatformMeshReconciler) SetupWithManager(mgr ctrl.Manager, cfg *pmconfi
6768
if err != nil {
6869
return err
6970
}
71+
builder.Owns(&corev1.Secret{})
7072
return builder.Complete(r)
7173
}
7274

pkg/subroutines/deployment.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ func (r *DeploymentSubroutine) Finalize(ctx context.Context, _ runtimeobject.Run
7676
return ctrl.Result{}, errors.NewOperatorError(err, false, true)
7777
}
7878

79+
log.Info().Msg("Successfully finalized DeploymentSubroutine")
7980
// If we reach here, both objects are deleted or did not exist. The controller will remove our finalizer.
8081
return ctrl.Result{}, nil
8182
}

pkg/subroutines/providersecret.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,10 +243,15 @@ func (r *ProvidersecretSubroutine) HandleProviderConnection(
243243
providerSecret := &corev1.Secret{
244244
ObjectMeta: metav1.ObjectMeta{
245245
Name: pc.Secret,
246-
Namespace: "platform-mesh-system",
246+
Namespace: instance.Namespace,
247247
},
248248
}
249249

250+
if err := controllerutil.SetOwnerReference(instance, providerSecret, r.client.Scheme()); err != nil {
251+
log.Error().Err(err).Msg("Failed to set owner reference on secret")
252+
return ctrl.Result{}, errors.NewOperatorError(err, false, false)
253+
}
254+
250255
_, err = controllerutil.CreateOrUpdate(ctx, r.client, providerSecret, func() error {
251256
providerSecret.Data = map[string][]byte{
252257
"kubeconfig": kcpConfigBytes,
@@ -311,9 +316,15 @@ func (r *ProvidersecretSubroutine) HandleInitializerConnection(
311316
initializerSecret := &corev1.Secret{
312317
ObjectMeta: metav1.ObjectMeta{
313318
Name: ic.Secret,
314-
Namespace: "platform-mesh-system",
319+
Namespace: instance.Namespace,
315320
},
316321
}
322+
323+
if err := controllerutil.SetOwnerReference(instance, initializerSecret, r.client.Scheme()); err != nil {
324+
log.Error().Err(err).Msg("Failed to set owner reference on secret")
325+
return ctrl.Result{}, errors.NewOperatorError(err, false, false)
326+
}
327+
317328
_, err = controllerutil.CreateOrUpdate(ctx, r.client, initializerSecret, func() error {
318329
initializerSecret.Data = map[string][]byte{"kubeconfig": data}
319330
return err

0 commit comments

Comments
 (0)