Fix: signal Helm --dry-run to the server and gate ArgoRollouts manifest reporting on dry-run#2064
Closed
HuyPhanNguyen wants to merge 1 commit into
Closed
Conversation
…st reporting under --dry-run Emit a k8s-dry-run service message early in the Helm KOS convention when --dry-run is detected, so the server can avoid marking Live Status Unavailable if the dry-run task fails or is cancelled. Also gate the ArgoRollouts inline manifest reporter on the same --dry-run check, matching the existing gate in HelmManifestAndStatusReporter.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background
A Helm deployment step run with
--dry-runthat fails or is cancelled causes Kubernetes Live Status to be marked Unavailable on the server, even though a dry-run never changes the cluster (FD-565). The server had no way to know a deployment was a dry-run. Separately, the ArgoRollouts inline manifest reporter (HelmUpgradeExecutor) did not skip reporting under--dry-run, unlike the defaultHelmManifestAndStatusReporter.Results
The Helm KOS convention now emits a
k8s-dry-runservice message before running helm when--dry-runis detected, giving the server a durable, immediate signal (consumed by the paired server change). The ArgoRollouts inline path now also skips manifest reporting under--dry-run, matching the default path.Fixes FD-565
Before
argo-rollouts-supportenabled,HelmUpgradeExecutorreported manifests even for a--dry-run.After
k8s-dry-runis emitted (via a sharedIsHelmDryRuncheck) before helm runs, so the signal is recorded even if the task later fails or is cancelled.HelmUpgradeExecutor.ReportManifestAndSetAppliedResourcesis skipped under--dry-run.Pairs with
The OctopusDeploy server PR that consumes
k8s-dry-runand skips the Unavailable flip.Reducing risk
Automated Tests
Pre-requisites