Commit Graph

6526 Commits

Author SHA1 Message Date
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
yangw 534f4a9fb1 fix: timeN function return final closure not be called (#21615) 2025-09-30 23:06:01 -07:00
Klaus Post b8631cf531 Use new gofumpt (#21613)
Update tinylib. Should fix CI.

`gofumpt -w .&&go generate ./...`
2025-09-28 13:59:21 -07:00
jiuker 456d9462e5 fix: after saveRebalanceStats cancel will be empty (#21597) 2025-09-19 21:51:57 -07:00
jiuker 756f3c8142 fix: incorrect poolID when after decommission adding pools (#21590) 2025-09-18 04:47:48 -07:00
M Alvee ae71d76901 fix: remove unnecessary replication checks (#21569) 2025-09-08 10:43:13 -07:00
M Alvee 07c3a429bf fix: conditional checks write for multipart (#21567) 2025-09-07 09:13:09 -07:00
Ian Roberts d0f50cdd9b fix: use correct dummy ARN for claim-based OIDC provider when listing access keys (#21549)
fix: use correct dummy ARN for claim-based OIDC provider

When listing OIDC access keys, use the correct ARN when looking up the provider configuration for the claim-based provider.  Without this it was impossible to list access keys for a claim-based provider, only for a role-policy-based provider.

Fixes minio/minio#21548
2025-09-06 10:38:46 -07:00
M Alvee 558fc1c09c fix: return error on conditional write for non existing object (#21550) 2025-09-06 10:34:38 -07:00
jiuker 5c87d4ae87 fix: when save the rebalanceStats not found the config file (#21547) 2025-09-04 13:47:24 -07:00
Klaus Post f0b91e5504 Run modernize (#21546)
`go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...` executed.

`go generate ./...` ran afterwards to keep generated.
2025-08-28 19:39:48 -07:00
Mark Theunissen 4ea6f3b06b fix: invalid checksum on site replication with conforming checksum types (#21535) 2025-08-22 07:15:21 -07:00
Daryl White 0848e69602 Update docs links throughout (#21513) 2025-08-12 11:20:36 -07:00
M Alvee 02ba581ecf custom user-agent transport wrapper (#21483) 2025-08-08 10:51:53 -07:00
Ian Roberts b44b2a090c fix: when claim-based OIDC is configured, treat unknown roleArn as claim-based auth (#21512)
RoleARN is a required parameter in AssumeRoleWithWebIdentity, 
according to the standard AWS implementation, and the official 
AWS SDKs and CLI will not allow you to assume a role from a JWT 
without also specifying a RoleARN.  This meant that it was not 
possible to use the official SDKs for claim-based OIDC with Minio 
(minio/minio#21421), since Minio required you to _omit_ the RoleARN in this case.

minio/minio#21468 attempted to fix this by disabling the validation 
of the RoleARN when a claim-based provider was configured, but this had 
the side effect of making it impossible to have a mixture of claim-based 
and role-based OIDC providers configured at the same time - every 
authentication would be treated as claim-based, ignoring the RoleARN entirely.

This is an alternative fix, whereby:

- _if_ the `RoleARN` is one that Minio knows about, then use the associated role policy
- if the `RoleARN` is not recognised, but there is a claim-based provider configured, then ignore the role ARN and attempt authentication with the claim-based provider
- if the `RoleARN` is not recognised, and there is _no_ claim-based provider, then return an error.
2025-08-08 10:51:23 -07:00
dorman c7d6a9722d Modify permission verification type (#21505) 2025-08-08 02:47:37 -07:00
jiuker a8abdc797e fix: add name and description to ldap accesskey list (#21511) 2025-08-07 19:46:04 -07:00
M Alvee 0638ccc5f3 fix: claim based oidc for official aws libraries (#21468) 2025-08-07 19:42:38 -07:00