-
Notifications
You must be signed in to change notification settings - Fork 2
Description
What problem are you facing?
When updating a Crossplane composition, we currently have no visibility into how that change will affect already-deployed claims/XRs that use that composition. The crossplane-diff tool shows differences between the composition files themselves, but doesn't show the downstream impact on existing resources.
This creates significant risk when updating compositions in production environments where multiple claims might be using the same composition. We're essentially flying blind - a seemingly minor composition change could have unexpected effects across dozens of deployed resources. For example, changing a default value or modifying a patch in a composition could alter critical infrastructure settings for all claims using that composition.
How could Crossplane help solve your problem?
The crossplane-diff tool should be enhanced to automatically show how composition changes will affect all deployed claims that use that composition. When running a diff on a composition file, the tool should:
Automatically discover all deployed claims/XRs in the cluster that reference the composition being modified
Run crossplane render for each affected claim using the new composition definition
Generate a comprehensive diff showing:
Which claims will be affected
What specific changes will occur in each claim's composed resources
A summary of the total impact (X claims affected, Y resources modified, Z resources added/removed)
This would provide the same safety and visibility that tools like Terraform provide with terraform plan, where you can see exactly what will change across your entire infrastructure before applying updates. It would transform composition updates from a risky operation to a predictable, well-understood change that can be safely reviewed and approved through standard change management processes.
This enhancement would make crossplane-diff a complete solution for understanding the blast radius of any Crossplane configuration change, not just direct resource modifications.