-
Notifications
You must be signed in to change notification settings - Fork 35
Description
What happened?
Nested compositions cause multiple controller owner refs error like the following:
cannot apply composed resource "crossplane-n": [WorkloadIdentity.platform.x.com](http://workloadidentity.platform.x.com/) "crossplane-n" is invalid: [metadata.ownerReferences: Invalid value: []v1.OwnerReference{v1.OwnerReference{APIVersion:"[platform.x.com/v1alpha1](http://platform.x.com/v1alpha1)", Kind:"DeveloperWorkspace", Name:"developer-workspace", UID:"4f606f73-b8eb-4bbf-8c18-8c84aaf06dd6", Controller:(*bool)(0xc05453d700), BlockOwnerDeletion:(*bool)(0xc05453d701)}, v1.OwnerReference{APIVersion:"[platform.x.com/v1alpha1](http://platform.x.com/v1alpha1)", Kind:"WorkloadIdentity", Name:"crossplane-n", UID:"fb4124bd-ac07-480d-a143-e2a2d542239a", Controller:(*bool)(0xc05453d702), BlockOwnerDeletion:(*bool)(0xc05453d703)}}: Only one reference can have Controller set to true. Found "true" in references for DeveloperWorkspace/developer-workspace and WorkloadIdentity/crossplane-n, metadata.ownerReferences: Invalid value: []v1.OwnerReference{v1.OwnerReference{APIVersion:"[platform.x.com/v1alpha1](http://platform.x.com/v1alpha1)", Kind:"DeveloperWorkspace", Name:"developer-workspace", UID:"4f606f73-b8eb-4bbf-8c18-8c84aaf06dd6", Controller:(*bool)(0xc05453d738), BlockOwnerDeletion:(*bool)(0xc05453d739)}, v1.OwnerReference{APIVersion:"[platform.x.com/v1alpha1](http://platform.x.com/v1alpha1)", Kind:"WorkloadIdentity", Name:"crossplane-n", UID:"fb4124bd-ac07-480d-a143-e2a2d542239a", Controller:(*bool)(0xc05453d73a), BlockOwnerDeletion:(*bool)(0xc05453d73b)}}: Only one reference can have Controller set to true. Found "true" in references for DeveloperWorkspace/developer-workspace and WorkloadIdentity/crossplane-n, metadata.ownerReferences: Invalid value: []v1.OwnerReference{v1.OwnerReference{APIVersion:"[platform.x.com/v1alpha1](http://platform.x.com/v1alpha1)", Kind:"DeveloperWorkspace", Name:"developer-workspace", UID:"4f606f73-b8eb-4bbf-8c18-8c84aaf06dd6", Controller:(*bool)(0xc05453d7f0), BlockOwnerDeletion:(*bool)(0xc05453d7f1)}, v1.OwnerReference{APIVersion:"[platform.x.com/v1alpha1](http://platform.x.com/v1alpha1)", Kind:"WorkloadIdentity", Name:"crossplane-n", UID:"fb4124bd-ac07-480d-a143-e2a2d542239a", Controller:(*bool)(0xc05453d7f2), BlockOwnerDeletion:(*bool)(0xc05453d7f3)}}: Only one reference can have Controller set to true. Found "true" in references for DeveloperWorkspace/developer-workspace and WorkloadIdentity/crossplane-n]
In this case DeveloperWorkspace is rendering WorkloadIdentity
How can we reproduce it?
- Create 2 compositions
- First composition renders the second one
What environment did it happen in?
Function version: v0.11.4
Crossplane version: v2.0.2
Kubernetes distribution: AKS
Kubernetes version: 1.33.2
OS: Ubuntu 22.04