kubernetes-sigs / kubernetes-sigs/cluster-api
Provide a Way to Opt Out of Resource Adoption
- Dominant language
- Go
- Stars
- 4.3k
- Forks
- 1.6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 113
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
Research direction
No files, tests, or entry points are named. Start by reviewing Cluster API's resource adoption and owner-reference behavior, then determine how an opt-out should interact with Helm and ArgoCD lifecycle management; done should include agreed semantics and coverage for the requested resource types.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, helm
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100