kubernetes-sigs/cluster-api

Provide a Way to Opt Out of Resource Adoption

Open

#7,913 opened on Jan 12, 2023

View on GitHub
 (14 comments) (1 reaction) (0 assignees)Go (1,532 forks)auto 404
help wantedkind/featurepriority/backlogtriage/accepted

Repository metrics

Stars
 (4,267 stars)
PR merge metrics
 (PR metrics pending)

Description

User Story

Say I deploy a cluster via Helm and ArgoCD. I then want to delete a MachineDeployment, its KuebadmConfigTemplate and OpenstackMachineTemplate. Problem is that while Argo detects it doesn't need to manage these anymore, because they are no longer generated by Helm, it doesn't actually delete them because CAPI has implicitly added owner references to the Cluster. Argo thinks that these resources have been implicitly created by controller-x, as per standard Deployment/StatefulSet/etc semantics, so doesn't touch them.

The way CAPI works essentially prevents deletion of MachineDeployments in this context and requires manual deletion, which is a pain in the butt.

Detailed Description

What I want is a way to opt out of this adoption, so that the provisioning application is in control of its lifecycle, not CAPI.

Anything else you would like to add:

[Miscellaneous information that will assist in solving the issue.]

/kind feature

Contributor guide