-
Notifications
You must be signed in to change notification settings - Fork 48
Description
Problem Statement
The current diff summary provides a helpful overview of which top-level Argo CD Application resources have changed.
However, it doesn't provide insight into the scope of the underlying Kubernetes resource changes within those applications.
A small change to a single Application could result in changes to dozens of Deployments, Services, and ConfigMaps. Without a resource-level summary, it's difficult to gauge the true magnitude of a pull request without expanding each section and scrolling through the entire diff.
This can make code reviews less efficient, as the full impact isn't immediately obvious.
Proposed Solution
I propose adding a new, more detailed summary that aggregates all the underlying Kubernetes resource changes (e.g., Deployments, Services, ConfigMaps) across all affected Argo CD Applications.
This new summary would be displayed at the top of the output, providing an immediate, at-a-glance view of the planned changes before the detailed diffs.
This would give reviewers an instant understanding of the plan.
Implementation Ideas
This new resource-level summary could take one of a few forms. I am open to feedback and other suggestions.
Option A: Terraform-style Summary
A simple, high-level count of all resource changes, inspired by Terraform's plan output. This is concise and easy to parse.
Example:
Resource Changes: 3 to add, 2 to change, 1 to remove.
------------------------------------------------------------------------
Option B: Detailed Table Summary
A more detailed, table-based summary that groups Kubernetes resources by their apiVersion and Kind. This provides more context while still being easy to read.
Example:
| apiVersion | Kind | Added | Changed | Removed |
|------------|------------|-------|---------|---------|
| apps/v1 | Deployment | 1 | 1 | 0 |
| v1 | Service | 1 | 0 | 0 |
| v1 | ConfigMap | 0 | 0 | 1 |
Before I start working on an implementation, I'd like to get feedback on this proposal. Do you think this would be a useful addition? And if so, which option do you prefer?