Skip to content

perf(platform): a published release reaches Flagger within a minute - #2514

Merged
ExtraToast merged 1 commit into
mainfrom
perf/release-pickup
Oct 16, 2026
Merged

ExtraToast merged 1 commit into
mainfrom
perf/release-pickup

Conversation

@ExtraToast

Copy link
Copy Markdown
Contributor

Part of #2513

Why

v1.24.1 was announced at 16:47, but Flagger only picked it up at 16:53. Every step between the two is a poll:

Step Before After
ImageRepository scans the registry for new tags 5 min 20s
Image automation commits the new tag as soon as the policy changes unchanged
The flux-system GitRepository fetches main 1 min 20s
Flux applies the change, and Flagger notices seconds, then 10s unchanged

The worst case falls from about 6 minutes to about 45s, and it is usually 20 to 30s.

What changes

  • The four ImageRepositories (api, frontend, imaging and stalwart-tools) scan every 20s. Each gets exclusionList: ['^[^v]'], so only release tags are listed. Main pushes a sha- tag on every commit, and each scan would otherwise list them all.
  • The flux-system GitRepository in gotk-sync.yaml fetches every 20s. Running flux bootstrap again would reset this value, so it has to be kept if that ever happens.

Cost

  • About 12 tag listings a minute against ghcr, with the same read-only token as before. That is well under GitHub's limits.
  • A git fetch from GitHub every 20s, which has no API rate limit.

Considered instead

A Flux Receiver that release.yml calls once the images are published, authenticated with GitHub's OIDC token. It would save about another 20s, but it needs a public webhook endpoint into Flux, so it was left out.

The image scans polled the registry every 5 minutes and the cluster fetched main every minute,
so v1.24.1 took six minutes from announcement to Flagger. Both now run every 20s, and the scans
list only v tags, so the sha- tags main pushes on every commit stay out of each scan.

Part of #2513
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Changes

Bucket Files Added Removed
platform 2 ███████ 16 ░░░ 8
total 2 +16 −8

No production or test lines added.

Coverage

No coverage summary reached this report.

Patch coverage: this pull request changes no line that coverage measures.

No coverage reached this report for api (api-unit-test-reports).
No coverage reached this report for frontend (frontend-unit-coverage).
No coverage reached this report for imaging (imaging-unit-coverage).

@ExtraToast
ExtraToast merged commit 1bdee88 into main Oct 16, 2026
32 checks passed
@ExtraToast
ExtraToast deleted the perf/release-pickup branch October 16, 2026 14:54
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.

1 participant