seanfarm fork of project-zot/zot (bounded retry on MinIO 499 ClientDisconnected)
  • Go 92.7%
  • Shell 6.6%
  • Makefile 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Sean OMeara 97d35c0185
build: harden Dockerfile.seanfarm after review; correct the retry notes
Adversarial review of the fork (3 lenses, 2 refuters per finding). Four
findings held, two were judged harmless but cost one line each to close:

- Held. The Writer(append=true) comment said a failed call has no side
  effect. Not exact: CreateMultipartUpload is inside the retried call, and
  a 499 can arrive after MinIO stored the upload. The retry is still safe,
  because it re-enters through ListMultipartUploads, finds that upload with
  zero parts and continues with it. The comment now says so. The retry.go
  header also said the SDK retries by code only; it retries statuses 500,
  502, 503, 504 too, and 499 is in neither set. No code change.
- Held. COPY . . shipped .git, so the test and builder layers were never a
  cache hit across clones of the same tag (the Shipwright git step keeps
  .git). Dockerfile.seanfarm.dockerignore keeps .git, .github, bin, hack and
  pkg/extensions/build out of the context.
- Held. The zui download sat after COPY . ., so github.com was contacted on
  every source change. It is now its own stage keyed on ZUI_VERSION and
  ZUI_SHA256 only.
- Held. The dockerfile frontend is now pinned by digest (1.7.1) like every
  other image in the file.
- Harmless, closed. The wall-clock subtest asserted < 1 s with the real
  sleeps; it runs under -race in the in-cluster image build. The bound is
  now 5 s; the injected-sleep case already pins the 300 ms worst case.
- Harmless, closed. An unset COMMIT or RELEASE_TAG build-arg made a binary
  and labels with no provenance, because a command-line make variable wins
  over the Makefile's git lookup even when empty. The builder stage now
  fails when either is empty; the header shows the laptop command.

Local smoke (docker buildx, linux/amd64): tests pass in the test stage,
--version logs the commit and the full binary-type, labels are set, the
test-stage tree has no .git, and a build without COMMIT stops with
"build-arg COMMIT is required".

Claude-Session: https://claude.ai/code/session_01LeVatedQ4sCA1u6LHjo7B5
2026-09-02 12:30:01 +02:00
.github chore: fix dependabot alerts (#3841) 2026-03-03 23:59:38 -08:00
.zap feat(ui): update zui version (#2162) 2024-01-17 17:22:33 +02:00
build build: harden Dockerfile.seanfarm after review; correct the retry notes 2026-09-02 12:30:01 +02:00
cmd chore: Enable Go jsonv2 experiment and update the trivy dependency (v0.67.2) (#3572) 2025-11-27 09:58:37 +02:00
demos feat(sync): use regclient for sync extension (#2903) 2025-04-15 16:58:15 -07:00
docs swagger: rename 'docs/' to 'swagger/' 2021-10-21 13:46:14 -07:00
errors feat(tls): implement dynamic TLS certificate reloading with file watching (#3792) 2026-02-15 13:01:50 -08:00
examples fix(auth): prevent open redirect via callback_ui (#3844) 2026-03-08 08:13:16 +02:00
pkg build: harden Dockerfile.seanfarm after review; correct the retry notes 2026-09-02 12:30:01 +02:00
scripts feat(events): add events extension (#3045) 2025-05-02 12:30:06 -07:00
swagger fix: migrate to Go module v2 for proper semantic versioning (#3462) 2025-10-16 22:43:47 -07:00
test chore: bump zui version (#3809) 2026-02-22 18:30:46 -08:00
.gitattributes build(deps): bump all dependencies (#2532) 2024-08-02 14:23:53 -07:00
.gitignore fix: migrate from github.com/rs/zerolog to golang-native log/slog (#3405) 2025-10-03 12:34:03 -07:00
.golangci.yaml chore: fix dependabot alerts (#3788) 2026-02-09 22:18:35 -08:00
CODE_OF_CONDUCT.md doc: add a CODE_OF_CONDUCT.md 2020-12-15 11:20:45 -08:00
codecov.yml refactor(metadb): improve UX by speeding up metadb serialize/deserialize (#1842) 2023-10-30 13:06:04 -07:00
CODEOWNERS docs: update maintainers and codeowners info (#3502) 2025-10-31 12:47:10 -07:00
COMPARISON.md move references to zotregistry.io and project-zot 2021-12-05 10:52:27 -08:00
CONTRIBUTING.md build: fix container image targets (#1856) 2023-10-04 09:12:56 -07:00
go.mod test(s3): specify a bounded retry for MinIO 499 ClientDisconnected 2026-09-02 11:17:11 +02:00
go.sum chore: fix dependabot alerts (#3841) 2026-03-03 23:59:38 -08:00
LICENSE fix: license copyright update (#3167) 2025-05-25 11:57:49 +03:00
MAINTAINERS.md docs: update maintainers and codeowners info (#3502) 2025-10-31 12:47:10 -07:00
Makefile chore: bump zui version (#3809) 2026-02-22 18:30:46 -08:00
NOTICE docs: fix copyright related info for cncf onboarding (#1117) 2023-01-17 15:43:45 -08:00
README.md fix: migrate to Go module v2 for proper semantic versioning (#3462) 2025-10-16 22:43:47 -07:00
README_fuzz.md Add fuzz tests for storage_fs (#601) 2022-07-27 20:37:55 +03:00
SECURITY.md chore: update support matrix 2024-03-14 09:43:42 -07:00
THIRD-PARTY-LICENSES.md chore: fix dependabot alerts (#2645) 2024-09-09 18:32:57 -07:00
tools.go chore: update golangci-lint and fix all issues (#3575) 2025-11-22 23:36:48 +02:00
zot.go zot: initial commit 2019-06-21 15:29:19 -07:00

zot

build test nightly jobs codecov conformance CodeQL CII Best Practices OpenSSF Scorecard Go Reference FOSSA Status

zot: a production-ready vendor-neutral OCI image registry - images stored in OCI image format, distribution specification on-the-wire, that's it!

Documentation for zot is located at: https://zotregistry.dev

Code of conduct details are here.

License

FOSSA Status