Skip to content

chore(mctl-agent): bump image to 1.7.0 (rollback resolver) - #105

Merged
mashkovd merged 1 commit into
mainfrom
chore/mctl-agent-1.7.0
May 3, 2026
Merged

mashkovd merged 1 commit into
mainfrom
chore/mctl-agent-1.7.0

Conversation

@mashkovd

@mashkovd mashkovd commented May 3, 2026

Copy link
Copy Markdown
Member

Summary

Bump admins/mctl-agent image from 1.6.0 to 1.7.0.

1.7.0 ships the post-deploy rollback path that was previously diagnose-only — internal/pipeline/pipeline.go:381-382 no longer errors out with "rollback requires previous tag — not yet implemented". On a pod crash-loop within 30 min of a deploy, mctl-agent now:

  • resolves the previous distinct image.tag from the gitops history of the service's values.yaml,
  • opens a rollback PR in mctl-gitops with the chart-level tag flipped (and inline comments preserved),
  • pings Telegram with /approve / /reject handles.

Combined with the admins-fallback Telegram flip in #99, openclaw-admins (and platform) crashes now land with operators in the admins-openclaw chat.

Wait for image build

Tag 1.7.0 was pushed at 2026-05-03T07:09Z; image build is in flight on mctl-agent. Do not merge until ghcr.io/mctlhq/mctl-agent:1.7.0 is published, otherwise the pod will sit in ImagePullBackOff.

Test plan

  • gh run list --repo mctlhq/mctl-agent --limit 1 shows the 1.7.0 build at conclusion=success
  • After merge: ArgoCD syncs the Application; kubectl -n admins rollout status deploy/admins-mctl-agent-base-service is healthy
  • kubectl -n admins describe pod -l app.kubernetes.io/instance=admins-mctl-agent | grep Image: resolves to ghcr.io/mctlhq/mctl-agent:1.7.0
  • Smoke test the rollback path on a non-critical tenant (e.g. push a deliberately bad image tag to ovk-openclaw values.yaml; within ~5 min watch mctl-agent open a rollback PR + Telegram message in ovk-openclaw chat)

mctl-agent 1.7.0 closes the post-deploy rollback path: when a pod
crash-loops within 30 min of a deploy, the agent now resolves the
previous image tag from the gitops history of the service's
values.yaml and opens a rollback PR (AutoMergeSafe=false; human
clicks /approve in Telegram).

Combined with the global telegram fallback flip in PR #99, openclaw-
admins (and platform-wide) crashes now reach the admins-openclaw chat
with both diagnosis and a one-click rollback handle.

Known limitations documented in internal/fixer/previous_tag.go godoc:
empty-quoted tags + multi-image-block fallback. Both are theoretical
shapes that don't exist in mctl-gitops today; revisit when a real
values file regresses.
@mashkovd

mashkovd commented May 3, 2026

Copy link
Copy Markdown
Member Author

@codex review

@mashkovd

mashkovd commented May 3, 2026

Copy link
Copy Markdown
Member Author

@copilot review

Copilot AI commented May 3, 2026

Copy link
Copy Markdown

@copilot review

Review of commit d906880

The change is a clean, minimal single-line YAML bump: tag: "1.6.0" → tag: "1.7.0" in the ArgoCD Application manifest for admins-mctl-agent.

What looks good:

  • Correct file and path — platform-gitops/bootstrap/templates/mctl-platform/mctl-agent.yaml is the right place to update the image tag for this Application.
  • No YAML structure changes; no unrelated fields touched.
  • No secrets or credentials modified.
  • The existing strategy.type: Recreate is appropriate for a stateful agent that should not run two versions concurrently during a rollout.
  • The autoSync + selfHeal: true policy means ArgoCD will pick this up automatically once merged.

One pre-merge risk to keep in mind (already flagged in the PR description):

  • The PR description explicitly states: "Do not merge until ghcr.io/mctlhq/mctl-agent:1.7.0 is published." If merged before the image is available in GHCR, ArgoCD will sync and the pod will immediately enter ImagePullBackOff. Verify the build is green with gh run list --repo mctlhq/mctl-agent --limit 1 before merging.

No code issues found — the change is correct and safe to merge once the image is confirmed published.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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