kubernetes-sigs / kubernetes-sigs/cluster-api

Cluster API should not use controller refs for resources that it does not create

Open
#4,014 27 comments 3 reactions 0 assignees View on GitHub
help wanted kind/bug priority/backlog triage/accepted
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.