-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Expected behavior:
- Nested XRs should be matched to their existing cluster instances by crossplane.io/composition-resource-name
annotation - Existing nested XR names and crossplane.io/composite labels should be preserved
- Managed resources owned by nested XRs should correctly show as unchanged (or show actual modifications if
changed)
Actual behavior:
- Nested XRs are treated as new resources with generated names
- All managed resources owned by nested XRs appear with "---" (removed) and "+++" (added) markers
- The diff shows dozens/hundreds of resources being replaced when they should be unchanged
- Nested XR names display with "(generated)" suffix instead of their actual cluster names
How can we reproduce it?
- Create a composition that produces nested XRs (an XR that creates other XRs as composed resources)
- Apply an XR or Claim using this composition to a cluster with Crossplane installed
- Wait for all resources to become available
- Modify the parent XR/Claim in any way (e.g., add labels, change a field value)
- Run crossplane-diff xr modified-xr.yaml
Observed: Diff shows all nested managed resources as removed/re-added
Expected: Diff correctly identifies nested XRs and shows only actual changes
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working