Skip to content

feat(argocd-sync): expected_revision rollout-confirm (app-agnostic deploy gate)#5

Merged
winggundamth merged 2 commits into
mainfrom
feat/v2.0-argocd-rollout-confirm
Jun 21, 2026
Merged

feat(argocd-sync): expected_revision rollout-confirm (app-agnostic deploy gate)#5
winggundamth merged 2 commits into
mainfrom
feat/v2.0-argocd-rollout-confirm

Conversation

@winggundamth

Copy link
Copy Markdown
Contributor

Adds an app-agnostic rollout-confirm to argocd-sync: optional expected_revision (or derived from gitops_repo branch HEAD via git ls-remote) so each app must have synced to the new GitOps commit (prefix match) in addition to Synced+Healthy.

  • Stops a pre-existing Synced+Healthy on the OLD commit from false-greening a rollout.
  • One repo HEAD covers a whole matrix of per-service commits → matrix-safe with a single confirm job.
  • Back-compat: unset → Synced+Healthy only (today's behavior).

This is the middle tier of the v2.0 deploy gate precedence (versionProbe → ArgoCD rollout-confirm → content-only), for BYO apps that expose no version. Part of S4/S3 (with #2 #3 #4).

🤖 Generated with Claude Code

…ploy gate)

Optional expected_revision (or derived from gitops_repo branch HEAD via git ls-remote) so each
app must have synced TO the new GitOps commit (prefix match) IN ADDITION to Synced+Healthy —
a pre-existing Synced+Healthy on the OLD commit can no longer false-green a rollout. One repo
HEAD covers a whole matrix of per-service commits. Back-compat: unset → Synced+Healthy only.
This is the app-agnostic fallback in the v2.0 deploy gate (versionProbe → THIS → content-only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gemini-code-assist

Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

Under set -e a single 5xx/timeout from argocd-server (refresh or status fetch) aborted the whole
job instead of retrying — defeating the wait loop. Refresh now '|| true'; a failed status fetch
sleeps + continues the poll. Resilience the loop was meant to provide.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@winggundamth winggundamth merged commit 516c4c5 into main Jun 21, 2026
@winggundamth winggundamth deleted the feat/v2.0-argocd-rollout-confirm branch June 21, 2026 10:34
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