feat(gitmirrors): mirror the zot fork as sean/zot-src; ungate app-image builds #186

Merged
binjovi-bot merged 1 commit from feat/zot-src-mirror into trunk 2026-09-02 10:39:29 +00:00
Owner

What

  • gitmirrors/zot-src.yaml: ForgejoRepository zot-src imports codeberg someara/zot-src (the seanfarm fork of project-zot/zot: v2.1.15 + a bounded retry on MinIO 499 ClientDisconnected in the s3 driver; branches main, seanfarm; tag v2.1.15-seanfarm.1 = 97d35c01). ForgejoPushMirror zot-src pushes every commit back (branchFilter: main,seanfarm).
  • shipwright-app-images Kustomization: pipelines.sean.farm/deployment-gate: "false". The zot BuildRun runs 30-45 min; the seanfarm deploy waits 15 min with rollback: true, so without the exemption the deploy would time out, roll back, and prune the running BuildRun. tests/flux-deployment-gates.sh pins it.

Why the name zot-src

codeberg someara/zot is already the push mirror of the private registry manifests repo. The container package built from the fork stays codeberg.org/someara/zot and links to zot-src through its OCI source label.

Not in this PR

The Shipwright Build zot (next PR, after the import is proven with git ls-remote https://code.sean.farm/sean/zot-src.git), and the digest pin in the zot manifests (zot repo).

Checks

bash tests/check.sh green (gitmirror-fleet ok: 39 mirrors; flux-deployment-gates: both exemptions present).

https://claude.ai/code/session_01LeVatedQ4sCA1u6LHjo7B5

## What - `gitmirrors/zot-src.yaml`: `ForgejoRepository zot-src` imports codeberg `someara/zot-src` (the seanfarm fork of project-zot/zot: v2.1.15 + a bounded retry on MinIO 499 `ClientDisconnected` in the s3 driver; branches `main`, `seanfarm`; tag `v2.1.15-seanfarm.1` = `97d35c01`). `ForgejoPushMirror zot-src` pushes every commit back (`branchFilter: main,seanfarm`). - `shipwright-app-images` Kustomization: `pipelines.sean.farm/deployment-gate: "false"`. The zot BuildRun runs 30-45 min; the seanfarm deploy waits 15 min with `rollback: true`, so without the exemption the deploy would time out, roll back, and prune the running BuildRun. `tests/flux-deployment-gates.sh` pins it. ## Why the name `zot-src` codeberg `someara/zot` is already the push mirror of the private registry manifests repo. The container package built from the fork stays `codeberg.org/someara/zot` and links to `zot-src` through its OCI source label. ## Not in this PR The Shipwright `Build zot` (next PR, after the import is proven with `git ls-remote https://code.sean.farm/sean/zot-src.git`), and the digest pin in the zot manifests (zot repo). ## Checks `bash tests/check.sh` green (gitmirror-fleet `ok: 39 mirrors`; flux-deployment-gates: both exemptions present). https://claude.ai/code/session_01LeVatedQ4sCA1u6LHjo7B5
feat(gitmirrors): mirror the zot fork as sean/zot-src; ungate app-image builds
All checks were successful
binjovi/ci Binjovi completed the frozen plan
0a98a9b78f
Two changes that the in-cluster build of the zot fork needs before its
Shipwright Build can land.

zot-src mirror. codeberg someara/zot-src holds the seanfarm fork of
project-zot/zot (upstream v2.1.15 plus a bounded retry on MinIO 499
ClientDisconnected in the s3 storage driver; branches main and seanfarm,
all upstream tags, tag v2.1.15-seanfarm.1). ForgejoRepository zot-src
imports it (importSource, the forgejo-operator.yaml shape) and
ForgejoPushMirror zot-src pushes every commit back (branchFilter
main,seanfarm; tags ride along). The git name is zot-src because codeberg
someara/zot is already the push mirror of the private registry manifests
repo; the container package built from the fork stays codeberg.org/someara/zot
and links to zot-src through its OCI source label. No ForgejoCollaborator
(retired in f4404df5).

Deployment gate. Kustomization shipwright-app-images gets
pipelines.sean.farm/deployment-gate: "false". Its healthCheckExprs keep it
not-Ready while any app-image BuildRun runs, and the zot build runs 30-45
minutes against a 15-minute Binjovi deploy timeout with rollback: true.
Without the exemption a seanfarm deploy that lands a BuildRun times out,
rolls the repo back, and prune deletes the running BuildRun. The trusted
flux deployer already honours the annotation for node-snapshot-bake.
Trade-off accepted: a failed app-image build no longer fails a seanfarm
deploy; the BuildRun status is the signal for that.
tests/flux-deployment-gates.sh pins the annotation.

Checks: bash tests/check.sh green (gitmirror-fleet: ok: 39 mirrors;
flux-deployment-gates: both exemptions present).

Claude-Session: https://claude.ai/code/session_01LeVatedQ4sCA1u6LHjo7B5
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/seanfarm!186
No description provided.