feat(registry): run the seanfarm fork of zot with a bounded S3 retry #17
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/zot-seanfarm-fork"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The registry now runs the seanfarm fork of zot:
codeberg.org/someara/zot:v2.1.15-seanfarm.1@sha256:8963f24d2bac6e0d346292f15f95174d4a92cd3d72c68ba93b94cc100f3defc5.Why: in-cluster pushes fail a few times a day with
blob upload unknown. MinIO answers a request with HTTP 499 /ClientDisconnectedwhile the request context is still alive; aws-sdk-go v1 makes zero retries for that class, and zot v2.1.15 then removes the whole upload session.The fork is upstream v2.1.15 plus a bounded retry (3 attempts, ~0.5 s worst case) around the idempotent s3 driver calls (
Reader,GetContent,Stat,List,Writer(append=true)), retried only for codeClientDisconnectedor status 499. Source: codebergsomeara/zot-src(Forgejo mirrorsean/zot-src), tagv2.1.15-seanfarm.1, commit 97d35c01. Built in-cluster by seanfarm Shipwright Buildzot(BuildRunzot-build-v2115-seanfarm1, Succeeded, retry tests pass in the test stage). Digest verified equal from the BuildRun status and skopeo; labels, entrypoint, cmd, port and--version(commit, full binary-type) checked.Base stays v2.1.15 because of project-zot/zot#4336. Pulled from codeberg, never registry.sean.farm (the registry cannot pull itself).
Files:
manifests/registry/manifest.yaml(image + comment),tests/zot-binjovi-publisher.sh(digest pin, rejects the upstream image and a self-pull),docs/REGISTRY-AVAILABILITY.md(S3 transient errors section).bash tests/check.shpasses.Rollback: revert this PR and release zot again.
Verification over 3-7 days in Loki (namespace registry, container zot):
transient s3 error, retryingabout equal to theClientDisconnectedcontrol;unexpected error, removing .uploads/ files== 0; clientblob upload unknown== 0.https://claude.ai/code/session_01LeVatedQ4sCA1u6LHjo7B5