kubernetes-sigs / kubernetes-sigs/cluster-api
Cluster API should not use controller refs for resources that it does not create
- Dominant language
- Go
- Stars
- 4.3k
- Forks
- 1.6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 113
Description
**What steps did you take and what happened:**
Attempting to create a Cluster using an external tool such as Crossplane causes issues with both CAPI and Crossplane wanting to have the singular controller reference for resources that are created from Crossplane.
We've used controller refs in the past to avoid the possibility of multiple Clusters owning the same resources, but siince this hampers interoperability, the use of non-controller ownerReferences should be used and the verification that a resource isn't "owned" by the same cluster should be handled separately.
**What did you expect to happen:**
Crossplane should be able to create a Cluster API Cluster
**Anything else you would like to add:**
Anywhere that Cluster API controllers are creating resources should still continue to use controller references.
/kind bug
Contributor guide
Research direction
Review the Cluster API controllers that create or inspect resources and trace where controller references are assigned or checked. Compare those paths with resources created by Crossplane, preserving controller references for resources Cluster API creates. Done means Crossplane can create a Cluster without conflicting ownership while Cluster API still prevents duplicate ownership where needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100