Skip to content

Add render-and-diff scripts for debugging chart changes#359

Open
mhotan wants to merge 1 commit intomainfrom
mike/render-and-diff-scripts
Open

Add render-and-diff scripts for debugging chart changes#359
mhotan wants to merge 1 commit intomainfrom
mike/render-and-diff-scripts

Conversation

@mhotan
Copy link
Copy Markdown
Contributor

@mhotan mhotan commented Apr 22, 2026

Summary

  • scripts/render-and-diff.sh — Renders helm templates at two git refs (tags, branches, SHAs) using temporary worktrees and diffs the output. Accepts arbitrary --values flags to mirror ArgoCD's exact values layering.
  • scripts/compare-manifests.py — Structural diff engine that parses multi-document YAML, matches resources by (kind, name), and deep-diffs ConfigMap data by full key path. Dashboard ConfigMaps are flagged as changed without dumping giant JSON blobs.
  • README section documenting usage

Usage

# Compare a release tag against main
./scripts/render-and-diff.sh controlplane-2026.4.7 main

# With terraform-generated values (any number of --values)
./scripts/render-and-diff.sh controlplane-2026.4.7 main \
  --values /path/to/values.yaml \
  --values /path/to/values-union.yaml

# Dataplane chart
./scripts/render-and-diff.sh dataplane-2026.4.7 main --chart dataplane

# Full text diff or all-resource structural diff
./scripts/render-and-diff.sh controlplane-2026.4.7 main --text
./scripts/render-and-diff.sh controlplane-2026.4.7 main --all

Test plan

  • Verified render-and-diff.sh with default test fixture (controlplane.aws.yaml)
  • Verified multiple --values flags work correctly
  • Verified dashboard ConfigMaps show "CHANGED" without dumping JSON
  • Verified --text mode falls back to diff -u

🤖 Generated with Claude Code

Renders helm templates at two git refs using temporary worktrees and
structurally diffs the ConfigMap output by full key path. Supports
arbitrary --values layering to mirror ArgoCD exactly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@aviator-app
Copy link
Copy Markdown
Contributor

aviator-app Bot commented Apr 22, 2026

Current Aviator status

Aviator will automatically update this comment as the status of the PR changes.
Comment /aviator refresh to force Aviator to re-examine your PR (or learn about other /aviator commands).

This pull request is currently open (not queued).

How to merge

To merge this PR, comment /aviator merge or add the mergequeue label.


See the real-time status of this PR on the Aviator webapp.
Use the Aviator Chrome Extension to see the status of your PR within GitHub.

@davidmirror-ops
Copy link
Copy Markdown
Contributor

Maybe I'm doing smth wrong but I tried this with my values but got an error

./scripts/render-and-diff.sh dataplane-2026.4.7 main --chart dataplane --values $HOME/code/byok-testing/onprem-values.yaml

Rendering dataplane chart...
  old: dataplane-2026.4.7
  new: main

./scripts/render-and-diff.sh: line 141: chart_args[@]: unbound variable

@mhotan
Copy link
Copy Markdown
Contributor Author

mhotan commented Apr 28, 2026

/aviator cancel

@aviator-app
Copy link
Copy Markdown
Contributor

aviator-app Bot commented Apr 28, 2026

This pull request (or associated stack) has been cancelled and is no longer ready-to-merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants