kubernetes-sigs / kubernetes-sigs/cluster-api

Provide a Way to Opt Out of Resource Adoption

Open
#7,913 14 comments 1 reaction 0 assignees View on GitHub
help wanted kind/feature priority/backlog triage/accepted
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.