Is your feature request related to a problem? Please describe.
As a user I would like a way to determine the drift between the current state of the cluster and what was initially installed by my Zarf package.
Describe the solution you'd like
Given there are resources that were previously deployed from a Zarf package
And I have a packaged version of the same Zarf package (newer, or the same version)
When I run zarf package deploy with a new --dry-run flag
Then I will see an output of the following for each primitive type for each component:
actions
Marshall each action set into a YAML array and diff the YAML arrays from the respective zarf.yamls
:warning: Note: this would not care about scripts / binaries as they would be handled by files.
charts
Template the chart and diff the rendered templates organizing them by groupkind / name / namespace - we should experiment with both text and reflect diffing
files
Compare the shasums between the packages organized by target - for files without SHASUMs we should calculate one on create - directories would always be shown as new
images
Retrieve the image manifest SHASUMs from the package and the currently configured registry and compare them (not just the tags)
manifests
Template the chart and diff the rendered templates organizing them by groupkind / name / namespace - we should experiment with both text and reflect diffing
dataInjections -
Always print dataInjections as new since there are no SHAs to compare and the data is ephemeral
repos
Run a git diff against the HEAD ref of the repo in the package and the repo in the cluster if there are matching repos
Additional context
Being able to distinguish resources that were created of mutated by Pepr might be meaningful. Also a readable / browseable version of this might be nice... -o short/-o long/-o html/-o json
Marking this with beta in that the flag should carry the beta flag in that it will continue to be refined and might not be everything folks are looking for.
Is your feature request related to a problem? Please describe.
As a user I would like a way to determine the drift between the current state of the cluster and what was initially installed by my Zarf package.
Describe the solution you'd like
zarf package deploy
with a new--dry-run
flagactions
zarf.yaml
scharts
files
shasum
s between the packages organized bytarget
- for files without SHASUMs we should calculate one oncreate
- directories would always be shown as newimages
manifests
dataInjections -
dataInjections
as new since there are no SHAs to compare and the data is ephemeralrepos
Additional context
Being able to distinguish resources that were created of mutated by Pepr might be meaningful. Also a readable / browseable version of this might be nice...
-o short
/-o long
/-o html
/-o json