Argo Compare
June 27, 2026 · View on GitHub
Argo Compare
A comparison tool for displaying the differences between applications in different Git branches
Example output of argo-compare with diff-so-fancy
About
argo-compare shows what would change in the helm-rendered manifests of an ArgoCD Application once a pull request is merged into the target branch. It renders both branches with helm template, strips Helm-injected noise, and prints the diff.
Optional features layer on top of the core flow — manifest schema validation, posting the diff as a Merge Request comment, anchored discovery for chart-only repos, and credential handling for private chart sources. See the Documentation index below.
Quick start
# Install via Docker
docker pull ghcr.io/shini4i/argo-compare:<version>
# Or download a binary from the Releases page, then:
argo-compare branch <target-branch>
See Installation and Usage for the full setup.
Documentation
- Installation — binary downloads and Docker image.
- Usage — CLI flags, output modes, external diff tools.
- How it works — the comparison pipeline.
- Architecture — package map, dependency direction, entry flows.
- Anchored repositories — path-based sources and chart-only repos via
.argo-compare.yml. - Manifest validation — schema validation with
kubeconform. - Repository credentials — private Helm repos, OCI registries, AWS ECR.
- GitLab integration — posting the diff as a Merge Request comment.
Current limitations
- The default change-detection flow looks for Application YAMLs in the diff. Repos that store chart content separately from their Application files should use Anchored repositories.
Roadmap
- Add support for Application using git as a source of helm chart
- Add support for providing credentials for password protected helm repositories
- Add support for OCI registries (including AWS ECR with automatic authentication)
- Add support for posting diff as a comment to MR (GitLab)
- Add support for posting diff as a comment to PR (GitHub)
- Add manifest validation via kubeconform
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.