Commit Graph

12707 Commits

Author SHA1 Message Date
abuckit f2eec48430 docs: link Buckit documentation 2026-07-27 19:39:33 -04:00
abuckit 4cee45516a docs: clarify guided installation 2026-07-27 19:37:09 -04:00
abuckit cce7f9419d docs: refine Getting Started callout 2026-07-27 19:36:32 -04:00
abuckit 73e12b6da7 docs: link Getting Started guide 2026-07-27 19:34:32 -04:00
abuckit 059f17101f docs: link Buckit Manager repository 2026-07-27 19:30:50 -04:00
abuckit d6c6eb102e docs: refresh Buckit capabilities 2026-07-27 19:21:44 -04:00
abuckit 6c0c6862e0 docs: use descriptive Discord link 2026-07-27 19:15:45 -04:00
abuckit b090bacd81 docs: consolidate Discord community link 2026-07-27 19:13:48 -04:00
abuckit 0f10a617af docs: move project note below demo 2026-07-27 19:11:50 -04:00
abuckit 7198012c65 docs: simplify README introduction 2026-07-27 19:10:36 -04:00
abuckit 6bb355f822 docs: rename README title 2026-07-27 19:10:06 -04:00
abuckit 6809d1f85e docs: move website to repository about 2026-07-27 19:07:38 -04:00
abuckit 1b4c61b845 docs: embed web console demo 2026-07-27 19:04:59 -04:00
abuckit ae47729cc9 docs: add README project badges 2026-07-27 18:46:39 -04:00
abuckit 8e40e1b1a6 build: bump console to v1.8.4 RELEASE.2026-07-21T17-57-33Z 2026-07-21 13:57:54 -04:00
abuckit d34309324e Merge pull request #20 from buckit-io/chore/bump-console-v1.8.3
build: bump console to v1.8.3
RELEASE.2026-07-18T23-21-20Z
2026-07-18 19:19:48 -04:00
abuckit 760154635b build: bump console to v1.8.3 2026-07-18 16:50:54 -04:00
abuckit fa10c1e59f Merge pull request #19 from buckit-io/chore/update-console-v1.8.2
chore: use console v1.8.2 release
RELEASE.2026-07-14T23-57-13Z
2026-07-14 18:07:40 -04:00
abuckit 4488828b3a ci: update Go vulncheck baseline 2026-07-14 16:40:09 -04:00
abuckit 77146c96c5 chore: use tagged console release v1.8.2 2026-07-14 16:37:00 -04:00
abuckit 1af5db7f5c docs: add fork notice and attribution 2026-07-08 23:02:18 -04:00
abuckit 5ce2fdb41b chore: switch minio-go dependency to buckit-go RELEASE.2026-07-08T23-43-30Z 2026-07-08 19:44:10 -04:00
abuckit 79ab73aea9 Merge pull request #18 from buckit-io/cleanup-rebrand-docs-remove-legacy-artifacts
docs: refresh project docs and remove legacy artifacts
2026-07-08 12:12:18 -04:00
abuckit 6d83d7c0af docs: refresh project docs and remove legacy artifacts 2026-07-07 22:47:25 -04:00
abuckit 9341440c89 Merge pull request #16 from buckit-io/chore/rebrand-runtime-messages
chore: rebrand runtime messages for Buckit CLI
2026-07-07 13:07:22 -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 a7ed65b988 Merge pull request #14 from buckit-io/feat/xfs-retry-on-error-timer
packaging: disable XFS retry-on-error on Buckit data drives
2026-06-24 13:04:48 -04:00
abuckit d6317c7ff8 packaging: reword comment to satisfy typos linter 2026-06-24 11:32:35 -04:00
abuckit 735fabc2d8 packaging: disable XFS retry-on-error on Buckit data drives
Buckit handles XFS errors itself, so the kernel default (retry-on-error
forever) only adds latency. Ship a systemd timer that periodically sets
max_retries=0 for the EIO, ENOSPC, and default error classes on the block
devices backing MINIO_VOLUMES.

The values reset on every mount, so the timer (re-)applies them after boot
and after a restart-free drive hot-swap. The script reads MINIO_VOLUMES from
the running server's process environment, scopes writes to only the mounted
Buckit data drives (never the root fs or unrelated XFS volumes), and exits
cleanly when the server is down or no XFS is present. Genuine write failures
are logged and surface the unit as failed.

postinstall enables the timer (idempotent across upgrades); postremove
disables it only on full removal.
2026-06-23 23:51:30 -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 04e323ac6f Merge pull request #12 from buckit-io/fix/dynamic-request-admission
feat: add dynamic S3 request memory gate
2026-06-23 20:01:01 -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 25de8044f7 Merge pull request #10 from buckit-io/worktree-install-rpm-script
feat: add cross-platform install scripts (Linux/macOS/Windows)
2026-06-19 12:00:23 -04:00
abuckit 414f5656f2 release: add Install section with one-line installers to release page
Add an Install panel to the generated release landing page listing the
curl/irm one-liners for the Linux, macOS, and Windows installer scripts.
2026-06-18 19:47:06 -04:00
abuckit 4613026c6f install-mac.sh: leave buckit binary in place instead of moving it
Drop the move-to-PATH instruction; the verified binary stays in the download
directory and the script prints how to run it from there, matching
install-windows.ps1.
2026-06-18 19:44:09 -04:00
abuckit c301779f4f install-windows.ps1: leave buckit.exe in place instead of moving it
Drop the move-to-PATH instruction; the verified buckit.exe stays in the
download directory and the script prints how to run it from there.
2026-06-18 19:43:26 -04:00
abuckit a8b561e837 install-windows.ps1: add Windows platform guard and fix install example
Fail fast when run under cross-platform PowerShell on Linux/macOS (rather than
fetching the Windows .exe), treating undefined $IsWindows on Windows
PowerShell 5.1 as Windows. Make the printed install example create the target
directory before moving the executable into it.
2026-06-18 19:42:27 -04:00
abuckit 255c33fa3e feat: add macOS and Windows installer scripts
Add install-mac.sh (downloads the Apple Silicon binary, verifies SHA-256,
clears the macOS quarantine attr, prints the move-to-PATH command) and
install-windows.ps1 (downloads the .exe, verifies SHA-256, prints the
move-to-PATH command). Both write to a predictable filename (buckit /
buckit.exe) and use the same atomic temp-then-move + checksum-gate flow as
install-linux.sh.

Publish both to gh-pages in the release workflow, and point install-linux.sh's
non-Linux error at the new scripts.
2026-06-18 19:31:31 -04:00
abuckit c0951456cf install-linux.sh: derive sudo prefix instead of hardcoding it
Set SUDO once (empty when already root, "sudo " when sudo is available,
empty with a warning otherwise) and build INSTALL_CMD from it, so the printed
install command is correct on root/container hosts without sudo.
2026-06-18 18:17:00 -04:00
abuckit 61b1d5c4fc install-linux.sh: download atomically to avoid clobbering on failure
Write the download to a temporary sibling file and only mv it into the
predictable buckit.<ext> path after the checksum verifies, with an EXIT trap
to clean up on failure. A failed or interrupted download can no longer leave
a partial/unverified file or overwrite an existing good package.
2026-06-18 18:13:31 -04:00
abuckit 8e146d4478 install-linux.sh: download to a predictable filename, drop --install mode
Revert the --install non-interactive mode. The script again only downloads,
verifies, and prints the install command. Instead of a versioned name in a
temp dir, the package is saved to a predictable buckit.rpm / buckit.deb /
buckit.apk in the current directory (overridable via BUCKIT_DOWNLOAD_DIR), so
the printed install command is stable and copy-pasteable in docs.
2026-06-18 18:10:21 -04:00
abuckit b8cf52b4fc feat: add --install non-interactive mode to install-linux.sh
Default behavior is unchanged (download, verify, print the install command).
Passing --install runs the detected install command automatically after a
successful checksum verification, for docs and automation use.

Execution reuses the detected command via unquoted word-splitting of the
fixed INSTALL_CMD words with the package path as a single quoted argument —
reliable in POSIX sh without eval.
2026-06-18 18:07:15 -04:00
abuckit 616eeea9a2 rename install-rpm.sh to install-linux.sh
The script installs rpm, deb, and apk packages, so the rpm-specific name
was misleading. install-linux.sh reflects its actual Linux-wide scope.
2026-06-18 17:58:02 -04:00
abuckit 3fab64f1bf feat: add install-rpm.sh native-package installer
Add packaging/install-rpm.sh, a POSIX sh helper served from gh-pages that
detects the host package manager (dnf/yum/zypper, apt/apt-get/dpkg, or apk),
downloads the matching .rpm/.deb/.apk for the latest stable release, verifies
its published SHA-256 checksum, and prints the install command to run. It does
not invoke the package manager itself.

Wire the update-gh-pages release job to check out source and publish the
script to pages/install-rpm.sh so it ships at
https://buckit-io.github.io/buckit/install-rpm.sh during a normal release.
2026-06-18 17:53:42 -04:00
abuckit b34644e96b Merge pull request #9 from buckit-io/fix/mint-sdk-compat
Fix Mint SDK compatibility failures
2026-06-17 21:02:38 -04:00
abuckit a013378869 ci: harden workflow helper scripts 2026-06-17 19:14:32 -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