6543 Commits

Author SHA1 Message Date
abuckit e3737b39dd fix: fall back from inconclusive FastOpen reads (#32) 2026-08-07 12:18:37 -04:00
abuckit ad5c64d3ee fix: validate FastOpen initial shard indexes (#31) 2026-08-07 09:59:54 -04:00
abuckit 5ce2fdb41b chore: switch minio-go dependency to buckit-go 2026-07-08 19:44:10 -04:00
abuckit def0a2e492 chore: rebrand runtime messages for Buckit CLI 2026-07-04 20:51:44 -04:00
abuckit 1e2a266ab0 chore: update startup docs url 2026-07-03 20:47:45 -04:00
abuckit 3bd0264aa2 Merge pull request #13 from buckit-io/worktree-fix-parallelreader-stash-buffer
fix: wire pooled stash buffer into parallelReader.buf (#11)
2026-06-23 20:01:16 -04:00
abuckit 13e433d4fe feat: add dynamic S3 request memory gate 2026-06-23 15:18:14 -04:00
abuckit f869ad00f9 fix: wire pooled stash buffer into parallelReader.buf
newParallelReader acquired a pooled stash buffer from globalBytePoolCap
and sliced it into per-shard views (bufs), but returned the struct with
`buf: make([][]byte, len(readers))` — discarding bufs. The pooled buffer
was reserved and recycled but never read into, while Read heap-allocated
each shard buffer lazily, adding ~1 MiB of fresh allocations per in-flight
GET decode on top of the reserved-but-unused 2 MiB pool buffer.

Wire the seeded bufs into buf so reads land in the pooled buffer. Entries
stay nil for the no-stash / oversized-legacy-block path, where Read's lazy
make remains the fallback. Correctness is unchanged; this removes the
allocation churn the byte pool was meant to avoid.

Fixes #11
2026-06-23 15:06:48 -04:00
abuckit ca56fe393f fix: honor if-match on delete object 2026-06-17 12:14:10 -04:00
abuckit a1168e61eb fix: flush listen notification streams 2026-06-17 12:03:12 -04:00
abuckit 518c532960 test: cover FastOpen encryption and metrics 2026-06-15 22:53:50 -04:00
abuckit 7672c1703a chore: remove duplicate FastOpen metrics 2026-06-15 22:36:26 -04:00
abuckit 67392ba3f4 fix: bound FastOpen frame container counts 2026-06-14 19:03:55 -04:00
abuckit e701c06571 ci: fix lint and verifier workflow failures 2026-06-14 13:57:47 -04:00
abuckit 3d15bdb1a1 fix: avoid pooling update binary buffers 2026-06-14 11:38:43 -04:00
abuckit 47a9099dc8 fix: return owned update binary buffers 2026-06-14 10:49:29 -04:00
abuckit ea034f6390 fix: clone pooled pathJoin results 2026-06-14 10:33:39 -04:00
abuckit 0740a461f7 Add FastOpen timing metrics 2026-06-13 21:05:23 -04:00
abuckit 9f6f18c1b1 test: cover deferred FastOpen decode failures 2026-06-11 09:46:13 -04:00
abuckit 4cf193ff7c feat: profile FastOpen body-path timing 2026-06-11 09:46:09 -04:00
abuckit d52d9d5865 chore: remove FastGet prototype path 2026-06-10 11:37:21 -04:00
abuckit b09d64fe30 feat: add FastOpen observability 2026-06-10 10:44:21 -04:00
abuckit 91526a9788 test: expand FastOpen GET golden coverage 2026-06-10 09:55:15 -04:00
abuckit 6344ff1289 feat: add FastOpen lazy replacement 2026-06-09 23:42:18 -04:00
abuckit dbd22c0b7d feat: add FastOpen GET landing path 2026-06-09 21:13:42 -04:00
abuckit e3b3246c6d feat: add FastOpen storage transport 2026-06-09 19:20:13 -04:00
abuckit 831b5e8b5b feat: add disk-local FastOpen part stream 2026-06-09 17:18:22 -04:00
abuckit f5939780b7 feat: add FastOpen frame foundation 2026-06-09 16:57:37 -04:00
abuckit e5b0a6f47d perf: stabilize single-trip fast get 2026-06-08 14:04:14 -04:00
abuckit 2807ace9f0 test: isolate single-trip counter assertions 2026-06-04 09:42:22 -04:00
abuckit eed84c8dbe test: allow body in tracking response writer test 2026-06-04 09:33:37 -04:00
abuckit 29982574ef feat: add single-trip GET phase 1 prototype 2026-06-04 09:10:40 -04:00
abuckit ce852535fa admin: log update progress and version comparisons 2026-05-22 11:20:20 -04:00
abuckit 9df885036d admin: expose server os and arch in server info 2026-05-21 22:05:22 -04:00
abuckit c4d5c58014 deps: switch buckit to buckit madmin-go and minio-go forks 2026-05-21 22:05:21 -04:00
abuckit f68ca79dfc fix: download binaries from GitHub Releases instead of gh-pages
Binaries exceed GitHub's 100MB git push limit so they cannot be stored
in the gh-pages branch. Two changes to fix this:

- release.yml: stop copying binaries/minisig to gh-pages; write
  buckit.sha256sum files with the release tag embedded in the filename
  field (e.g. 'buckit.RELEASE.xxx') so the Go code can construct the
  versioned GitHub Releases URL.

- update.go / admin-handlers.go: getBinaryURL now constructs a
  github.com/releases/download URL when the checksum source is github.io
  and the sha256sum filename contains a release tag. Fixes two dead-code
  bugs in both admin handlers where 'if updateURL == ""' was always
  false after updateURL had already been set.
2026-05-21 21:47:16 -04:00
abuckit 1f25e6181b change Windows auto update sha256 url 2026-05-19 11:21:38 -04:00
abuckit 6234f40b58 build: simplify self-update release flow 2026-05-11 18:01:52 -04:00
abuckit 15d5f02df7 feat: implement Buckit release process
Automated release pipeline triggered by tag push (RELEASE.YYYY-MM-DDTHH-MM-SSZ):

- Multi-platform builds: linux/amd64, linux/arm64, windows/amd64, darwin/arm64
- Minisign binary signing with Buckit keypair
- Linux packages (.deb, .rpm, .apk) via pkger
- Multi-arch Docker images pushed to ghcr.io and Docker Hub
- GitHub Release with all artifacts and auto-generated release notes
- Self-update support via GitHub Pages sha256sum pointers
- mc admin update works for all platforms (linux, windows, darwin)

Code changes:
- cmd/update.go: accept 'buckit.' prefix, new pubkey, GitHub Releases
  URL derivation, platform-aware binary URL construction
- cmd/build-constants.go: point default release URL at GitHub Pages
- cmd/admin-handlers.go: use getBinaryURL() helper
- Dockerfile: rewrite with ubi9/ubi-micro base (no MinIO inheritance)
- Remove legacy Dockerfiles (release, hotfix, old_cpu)

Docs:
- docs/release-process.md: operator guide
- docs/release-process-plan.md: implementation plan
- docs/self-update-migration.md: self-update technical details
2026-05-10 21:56:33 -04:00
abuckit efbc9e1c30 chore: update default root credentials and test expectations 2026-05-08 14:10:10 -04:00
abuckit 5bd6b356f2 chore: rebrand repo metadata, build paths, and CI tooling for Buckit 2026-05-08 13:37:11 -04:00
abuckit cca040a20c Fix go-healing.yaml job failure 2026-05-01 20:22:57 -04:00
abuckit 4969a9c426 Fix github Actions 2026-04-30 16:06:15 -04:00
yangw 10b0a234d2 fix: update metric descriptions to specify current MinIO server instance (#21638)
Signed-off-by: yangw <wuyangmuc@gmail.com>
2025-10-23 21:06:31 -07:00
Raul-Mircea Crivineanu 18f97e70b1 Updates for conditional put read quorum issue (#21653) 2025-10-23 21:05:31 -07:00
Menno Finlay-Smits 52eee5a2f1 fix(api): Don't send multiple responses for one request (#21651)
fix(api): Don't send responses twice.

In some cases multiple responses are being sent for one request, causing
the API server to incorrectly drop connections.

This change introduces a ResponseWriter which tracks whether a
response has already been sent. This is used to prevent a response being
sent if something already has (e.g. by a preconditions check function).

Fixes #21633.

Co-authored-by: Menno Finlay-Smits <hello@menno.io>
2025-10-23 21:05:19 -07:00
M Alvee fa18589d1c fix: Tagging in PostPolicy upload does not enforce policy tags (#21656) 2025-10-23 08:10:12 -07:00
Aditya Manthramurthy c1a49490c7 fix: check sub-policy properly when present (#21642)
This fixes a security issue where sub-policy attached to a service
account or STS account is not properly validated under certain "own"
account operations (like creating new service accounts). This allowed a
service account to create new service accounts for the same user
bypassing the inline policy restriction.
2025-10-15 10:00:45 -07:00
cduzer 1b8ac0af9f fix: allow trailing slash in AWS S3 POST policies (#21612) 2025-10-10 11:57:35 -07:00
Mark Theunissen ba3c0fd1c7 Bump Go version in toolchain directive to 1.24.8 (#21629) 2025-10-10 11:57:03 -07:00