You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I believe this is the expected behavior, at least for the current implementation. metadata.name is a "special" field since it defines the "key" to the object and the operator does not expect the key to change. That would require deleting the old Object and creating a new one with a new name.
It seems Crossplane itself deals with a similar problem for composed resources, controlling them via spec.resourceRefs. Current behavior there ensures that resources that are no longer part of the desired state get deleted.
Would it make sense for a similar control to be implemented here?
Chiming in with a use-case: we want to control Jobs, whose pod template is (unfortunately) immutable. We thought of working around this by ensuring the resource name changes when we change something we'd like to trigger a new Job for.
I believe the same can be said for anything that's immutable, and we're ok with creating a new one.
What happened?
After changing the Object.spec.forProvider.manifest.metadata.name the resource with the previous name does not get deleted.
How can we reproduce it?
Create a Resource:
Change the Resource
run
kubectl get cm -n default
and observe both test1 and test2 are present.What environment did it happen in?
Provider Kubernetes: v0.14.1
Crossplane version: v1.16.0
Kubernetes: v1.28.8
The text was updated successfully, but these errors were encountered: