Skip to content

fix(flux): bind Kustomization readiness to each request - #8117

Merged
devantler merged 1 commit into
mainfrom
codex/reconcile-request-freshness-8115-r72
Nov 1, 2026
Merged

devantler merged 1 commit into
mainfrom
codex/reconcile-request-freshness-8115-r72

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

Retries can immediately reuse a previous reconciliation failure, wasting their recovery opportunity and blocking deployment feedback. Each attempt needs a result from the controller for that attempt.

What

Wait for fresh reconciliation results for each monitored Flux Kustomization while preserving prompt real failures and the existing timeouts. Suspended resources stay suspended and do not hold up the command.

Part of #8115

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Local validation for signed head ca76bcf92fda19a5b8bed478e6640ce398870ae5: all 199 packages in the uncached Go suite pass; the affected Flux and workload race suites pass; vet, configured lint, canonical generation, the 194-page documentation build, and the actual CLI build/help check pass.

The regression first failed against the old implementation: a stale failure at the same source revision terminated a new attempt. It now waits for a fresh matching controller receipt and succeeds. Controls retain the original deadline when acknowledgement never arrives, skip suspended resources, stop blocked dependencies before a new request, and promptly report a genuine fresh failure even when Flux retains Reconciling=True with ProgressingWithRetry.

Those regression scenarios use a scripted Kubernetes API boundary, not a live-controller recovery claim. The completion handling follows the upstream controller’s final status update. Native Flux system-test execution, full current-head CI and substantive review remain pending. #8115 deliberately stays open for its separate later Platform deployment observation; platform#5692 still owns the underlying webhook deadline.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

@github-code-quality

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: Go

Go / code-coverage/go

main 6779851 codex/reconcile-requ... ca76bcf +/-
71% 71% 0%
View coverage of the 3 most impacted files.
File main 6779851 codex/reconcile-requ... ca76bcf +/-
pkg/svc/install...site_removal.go 92% 90% -2%
pkg/client/flux...ustomization.go 82% 84% +2%
pkg/cli/cmd/wor...ad/reconcile.go 38% 44% +6%

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 16 seconds.

@coderabbitai

coderabbitai Bot commented Nov 1, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 10 seconds.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 6779851 and ca76bcf.

Files selected for processing: 7
  • docs/src/content/docs/guides/gitops-workflows.mdx
  • pkg/cli/cmd/workload/export_test.go
  • pkg/cli/cmd/workload/reconcile.go
  • pkg/cli/cmd/workload/reconcile_request_freshness_test.go
  • pkg/cli/cmd/workload/workload_test.go
  • pkg/client/flux/kustomization.go
  • pkg/client/flux/kustomization_request_test.go

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T23:13:27.687723Z ca76bcf Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

Reviewed commit: ca76bcf92f

ℹ️ 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".

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Readiness verified at ca76bcf92fda19a5b8bed478e6640ce398870ae5: native CI is settled, the current-head Codex review is clean, and there are no unresolved threads or body findings. Every readable required gate passes; configured Code Quality has no readable standalone verdict, while GitHub reports the PR CLEAN.

The real CLI path is exercised in the Vanilla/Flux system test. It downloads the verified binary artifact from the same run’s producer, built from merge source 467585486f1ce6c4391c85d29a6e3323d5ef6d2b. The actual ksail workload push and ksail workload reconcile succeed against a real Flux controller, and the test independently verifies the new managed ConfigMap exists. This establishes controller compatibility in addition to the deterministic stale-failure and fresh-failure regressions.

Promoting for protected delivery. #8115 remains open for publication and its separate later Platform retry observation; that production outcome is not claimed by this test.

@devantler
devantler marked this pull request as ready for review November 1, 2026 23:17
@devantler
devantler merged commit 29e0a4d into main Nov 1, 2026
95 checks passed
@devantler
devantler deleted the codex/reconcile-request-freshness-8115-r72 branch November 1, 2026 23:19
@github-project-automation github-project-automation Bot moved this from 🫴 Ready to ✅ Done in 🌊 Project Board Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

1 participant