mirror of
https://github.com/rustfs/rustfs.git
synced 2026-09-04 03:05:39 +00:00
chore(release): prepare 1.0.0-beta.4 (#3032)
* chore(release): prepare 1.0.0-beta.4 * docs(skill): refine rustfs spec changelog rule * docs(skill): optimize rustfs release bump workflow
This commit is contained in:
@@ -1,22 +1,33 @@
|
|||||||
---
|
---
|
||||||
name: rustfs-release-version-bump
|
name: rustfs-release-version-bump
|
||||||
description: Prepare a RustFS release branch like PR #2957 by bumping versioned files, aligning release assets, running required verification, and finishing with commit, push, and gh PR creation. Use when publishing a new RustFS alpha, beta, or stable release.
|
description: Publish a RustFS alpha/beta/stable release with an auditable flow: confirm target version and scope, update workspace and release assets (including strict rustfs.spec changelog identity/date/version format), run required verification, and finish with commit, push, and GitHub PR creation.
|
||||||
---
|
---
|
||||||
|
|
||||||
# RustFS Release Version Bump
|
# RustFS Release Version Bump
|
||||||
|
|
||||||
Use this skill when the task is to prepare a new RustFS version release branch following the pattern validated in PR `#2957`.
|
Use this skill to publish a RustFS release (alpha, beta, or stable) with a minimal, auditable diff and a complete ship flow (`edit -> verify -> commit -> push -> PR`).
|
||||||
|
|
||||||
## Read first
|
Validated baseline: release pattern used in PR `#2957`.
|
||||||
|
|
||||||
- Read `AGENTS.md`.
|
## Required inputs
|
||||||
- Read `.github/pull_request_template.md`.
|
|
||||||
- Inspect the current branch diff against `origin/main`.
|
|
||||||
- Do not assume every release file should change in the same way every time.
|
|
||||||
|
|
||||||
## Scope validated by PR #2957
|
- Exact target version, for example `1.0.0-beta.4`.
|
||||||
|
- Delivery scope:
|
||||||
|
- Local only (`edit/verify`).
|
||||||
|
- Local + git (`commit/push`).
|
||||||
|
- Full GitHub flow (`commit/push/PR`).
|
||||||
|
|
||||||
The `1.0.0-beta.3` release branch updated these files:
|
If target version is missing or ambiguous, stop and ask before editing.
|
||||||
|
|
||||||
|
## Read before editing
|
||||||
|
|
||||||
|
- `AGENTS.md` (root and nearest path-specific files).
|
||||||
|
- `.github/pull_request_template.md`.
|
||||||
|
- Current branch status and diff against `origin/main`.
|
||||||
|
|
||||||
|
## Default release file scope
|
||||||
|
|
||||||
|
Treat the following file list as the default checklist for each release bump:
|
||||||
|
|
||||||
- `Cargo.toml`
|
- `Cargo.toml`
|
||||||
- `Cargo.lock`
|
- `Cargo.lock`
|
||||||
@@ -26,78 +37,89 @@ The `1.0.0-beta.3` release branch updated these files:
|
|||||||
- `helm/rustfs/Chart.yaml`
|
- `helm/rustfs/Chart.yaml`
|
||||||
- `rustfs.spec`
|
- `rustfs.spec`
|
||||||
|
|
||||||
Treat this file list as the default checklist for future release bumps. Only drop a file if the repository's current release pattern clearly says it is no longer part of the publish flow.
|
Only drop a file when the current repository release process clearly no longer requires it.
|
||||||
|
|
||||||
## Workflow
|
## Hard release policy
|
||||||
|
|
||||||
1. Confirm release intent
|
- Docker doc tags use `<version>` (for example `rustfs/rustfs:1.0.0-beta.4`), not `v<version>`.
|
||||||
- Identify the target version string exactly, for example `1.0.0-beta.4`.
|
- Helm chart version mapping follows `beta.N -> 0.N.0`.
|
||||||
- Check whether the user wants only local commit preparation or the full `commit + push + PR` flow.
|
- `rustfs.spec` `Release` uses prerelease suffix only (for example `beta.4`).
|
||||||
- Compare the branch against `origin/main` and isolate only release-related edits.
|
- Do not change these rules without explicit confirmation.
|
||||||
- If the target version is not explicit, stop and ask for it before editing.
|
|
||||||
|
|
||||||
2. Update core Rust workspace versions
|
## Step-by-step workflow
|
||||||
- Bump the workspace version in `Cargo.toml`.
|
|
||||||
- Bump all internal workspace crate versions in `Cargo.toml`.
|
|
||||||
- Ensure `Cargo.lock` reflects the same release version for workspace packages.
|
|
||||||
- Re-read the diff and verify there are no partial version leftovers.
|
|
||||||
|
|
||||||
3. Align release assets
|
1. Confirm intent and isolate scope
|
||||||
- Update versioned Docker examples in `README.md` and `README_ZH.md` using the `<version>` tag form, for example `rustfs/rustfs:1.0.0-beta.4`.
|
- Confirm target version string exactly.
|
||||||
- Update `flake.nix` package version.
|
- Confirm whether user requested local-only or full GitHub flow.
|
||||||
- Update `helm/rustfs/Chart.yaml` `appVersion`.
|
- Inspect current branch and ensure only release-related files are touched for this task.
|
||||||
- Update `helm/rustfs/Chart.yaml` `version` using the release-chart rule:
|
|
||||||
|
2. Update workspace versions
|
||||||
|
- Bump `[workspace.package].version` in `Cargo.toml`.
|
||||||
|
- Bump internal workspace crate dependency versions in `Cargo.toml`.
|
||||||
|
- Update `Cargo.lock` so workspace package versions match target version.
|
||||||
|
- Re-scan for partial leftovers.
|
||||||
|
|
||||||
|
3. Update release assets
|
||||||
|
- `README.md` and `README_ZH.md`: update versioned Docker examples to target version.
|
||||||
|
- `flake.nix`: update package version to target version.
|
||||||
|
- `helm/rustfs/Chart.yaml`:
|
||||||
|
- `appVersion` = target version.
|
||||||
|
- `version` follows chart mapping rule, for example:
|
||||||
- `1.0.0-beta.3` -> `0.3.0`
|
- `1.0.0-beta.3` -> `0.3.0`
|
||||||
- `1.0.0-beta.4` -> `0.4.0`
|
- `1.0.0-beta.4` -> `0.4.0`
|
||||||
- Follow the same pattern for later beta releases unless the repository rule changes.
|
- `rustfs.spec`:
|
||||||
- Update `rustfs.spec` release metadata and changelog entry.
|
- Set `Release` to prerelease suffix (example `beta.4`).
|
||||||
- Set `rustfs.spec` `Release` to the prerelease suffix without the base version, for example `beta.3` for `1.0.0-beta.3`.
|
- Add/update top changelog entry with exact format:
|
||||||
- Keep the release asset changes in a separate commit from the core Rust workspace version bump when the branch contains both.
|
- `* Thu May 20 2026 houseme <housemecn@gmail.com>`
|
||||||
|
- `- Update RPM package to RustFS 1.0.0-beta.4`
|
||||||
|
- Changelog identity and time must come from current environment:
|
||||||
|
- `git config --get user.name`
|
||||||
|
- `git config --get user.email`
|
||||||
|
- `date '+%a %b %d %Y'`
|
||||||
|
- Changelog version text must match target release version exactly.
|
||||||
|
|
||||||
4. Stop and discuss before changing release policy
|
4. Verify before shipping
|
||||||
- Ask before changing the established Docker tag style away from `<version>`.
|
- Run:
|
||||||
- Ask before changing the established Helm chart version mapping away from `beta.N -> 0.N.0`.
|
- `cargo fmt --all`
|
||||||
- Ask before changing the established `rustfs.spec` `Release` rule away from the release suffix form such as `beta.N`.
|
- `cargo fmt --all --check`
|
||||||
- Ask before widening the release scope beyond the files already validated in PR `#2957`.
|
- `make pre-commit`
|
||||||
|
- If verification passes, run `cargo clean`.
|
||||||
|
- If `make pre-commit` fails, return `BLOCKED` with root cause and do not silently widen scope to fix unrelated issues unless user asks.
|
||||||
|
|
||||||
5. Verify before shipping
|
5. Commit strategy
|
||||||
- Run `make pre-commit`.
|
- Preferred split when both parts changed:
|
||||||
- If verification succeeds, run `cargo clean` to remove generated build artifacts before wrapping up.
|
- `chore(release): prepare <version>` for `Cargo.toml` and `Cargo.lock`.
|
||||||
- If `make pre-commit` fails, stop and return `BLOCKED`.
|
- `chore(release): align release assets for <version>` for docs and packaging files.
|
||||||
|
- If user asks for one commit, use one commit.
|
||||||
|
- Stage only intended release files; do not include unrelated working tree changes.
|
||||||
|
|
||||||
6. Commit structure
|
6. Push and PR
|
||||||
- Prefer two commits when the change naturally splits:
|
- Push branch:
|
||||||
- `chore(release): prepare <version>` for `Cargo.toml` and `Cargo.lock`
|
- `git push -u origin <branch>` (first push), or `git push` (tracking already exists).
|
||||||
- `chore(release): align release assets for <version>` for docs and packaging metadata
|
- Create PR with template headings unchanged:
|
||||||
- If the user asks for a single commit, follow that request.
|
- `gh pr create --base main --head <branch> --title ... --body-file ...`
|
||||||
|
- PR title/body must be English.
|
||||||
|
- Use `N/A` for non-applicable template sections.
|
||||||
|
- Include verification commands and any `BLOCKED` reason clearly.
|
||||||
|
|
||||||
7. Push and PR
|
## Recommended check commands
|
||||||
- Push the release branch with `git push -u origin <branch>` or `git push` if upstream already exists.
|
|
||||||
- Create the PR with `gh pr create --base main --head <branch> --title ... --body-file ...`.
|
|
||||||
- Keep the PR title and body in English.
|
|
||||||
- Keep the `.github/pull_request_template.md` headings exactly.
|
|
||||||
|
|
||||||
## Ready-to-check commands
|
|
||||||
|
|
||||||
|
- `git status --short --branch`
|
||||||
- `git diff --name-only origin/main...HEAD`
|
- `git diff --name-only origin/main...HEAD`
|
||||||
- `git diff --stat origin/main...HEAD`
|
- `git diff --stat origin/main...HEAD`
|
||||||
|
- `rg -n "<old_version>|<new_version>" Cargo.toml Cargo.lock README.md README_ZH.md flake.nix helm/rustfs/Chart.yaml rustfs.spec`
|
||||||
|
- `cargo fmt --all`
|
||||||
|
- `cargo fmt --all --check`
|
||||||
- `make pre-commit`
|
- `make pre-commit`
|
||||||
- `cargo clean`
|
- `cargo clean`
|
||||||
- `git status --short --branch`
|
|
||||||
|
|
||||||
## Output expectations
|
## Output contract
|
||||||
|
|
||||||
When using this skill, return:
|
When using this skill, always report:
|
||||||
|
|
||||||
- The files changed for the release bump
|
- Target version.
|
||||||
- Any uncertainty that needs user confirmation before editing
|
- Files changed.
|
||||||
- Verification status
|
- Any assumptions or uncertainties requiring confirmation.
|
||||||
- Commit messages used
|
- Verification result (`PASSED` or `BLOCKED`) with key evidence.
|
||||||
- Push status and PR URL when the GitHub flow was requested
|
- Commit message(s) used.
|
||||||
|
- Push status and PR URL when GitHub flow is requested.
|
||||||
## Established release policy
|
|
||||||
|
|
||||||
- Docs use Docker tags in `<version>` form, not `v<version>`.
|
|
||||||
- `helm/rustfs/Chart.yaml` `version` follows `beta.N -> 0.N.0` based on the current release policy.
|
|
||||||
- `rustfs.spec` `Release` follows the release suffix form, for example `beta.3`.
|
|
||||||
- If any of these rules need to change in the future, pause and confirm before editing.
|
|
||||||
|
|||||||
Generated
+37
-37
@@ -3672,7 +3672,7 @@ checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "e2e_test"
|
name = "e2e_test"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"astral-tokio-tar",
|
"astral-tokio-tar",
|
||||||
@@ -9269,7 +9269,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs"
|
name = "rustfs"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm 0.11.0-rc.3",
|
"aes-gcm 0.11.0-rc.3",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
@@ -9385,7 +9385,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-audit"
|
name = "rustfs-audit"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"chrono",
|
"chrono",
|
||||||
@@ -9409,7 +9409,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-checksums"
|
name = "rustfs-checksums"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64-simd",
|
"base64-simd",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -9423,7 +9423,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-common"
|
name = "rustfs-common"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"metrics",
|
"metrics",
|
||||||
@@ -9438,7 +9438,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-concurrency"
|
name = "rustfs-concurrency"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rustfs-io-core",
|
"rustfs-io-core",
|
||||||
"rustfs-io-metrics",
|
"rustfs-io-metrics",
|
||||||
@@ -9450,14 +9450,14 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-config"
|
name = "rustfs-config"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"const-str",
|
"const-str",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-credentials"
|
name = "rustfs-credentials"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64-simd",
|
"base64-simd",
|
||||||
"rand 0.10.1",
|
"rand 0.10.1",
|
||||||
@@ -9468,7 +9468,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-crypto"
|
name = "rustfs-crypto"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm 0.11.0-rc.3",
|
"aes-gcm 0.11.0-rc.3",
|
||||||
"argon2 0.6.0-rc.8",
|
"argon2 0.6.0-rc.8",
|
||||||
@@ -9488,7 +9488,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-data-usage"
|
name = "rustfs-data-usage"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"path-clean",
|
"path-clean",
|
||||||
@@ -9499,7 +9499,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-ecstore"
|
name = "rustfs-ecstore"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm 0.11.0-rc.3",
|
"aes-gcm 0.11.0-rc.3",
|
||||||
"async-channel",
|
"async-channel",
|
||||||
@@ -9602,7 +9602,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-filemeta"
|
name = "rustfs-filemeta"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
"byteorder",
|
"byteorder",
|
||||||
@@ -9626,7 +9626,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-heal"
|
name = "rustfs-heal"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -9654,7 +9654,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-iam"
|
name = "rustfs-iam"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -9689,7 +9689,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-io-core"
|
name = "rustfs-io-core"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"memmap2 0.9.10",
|
"memmap2 0.9.10",
|
||||||
@@ -9700,7 +9700,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-io-metrics"
|
name = "rustfs-io-metrics"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"criterion",
|
"criterion",
|
||||||
"metrics",
|
"metrics",
|
||||||
@@ -9762,7 +9762,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-keystone"
|
name = "rustfs-keystone"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"futures",
|
"futures",
|
||||||
@@ -9787,7 +9787,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-kms"
|
name = "rustfs-kms"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm 0.11.0-rc.3",
|
"aes-gcm 0.11.0-rc.3",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@@ -9816,7 +9816,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-lock"
|
name = "rustfs-lock"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"crossbeam-queue",
|
"crossbeam-queue",
|
||||||
@@ -9837,7 +9837,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-madmin"
|
name = "rustfs-madmin"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"humantime",
|
"humantime",
|
||||||
@@ -9850,7 +9850,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-notify"
|
name = "rustfs-notify"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -9884,7 +9884,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-object-capacity"
|
name = "rustfs-object-capacity"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"criterion",
|
"criterion",
|
||||||
"futures",
|
"futures",
|
||||||
@@ -9902,7 +9902,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-obs"
|
name = "rustfs-obs"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"crossbeam-channel",
|
"crossbeam-channel",
|
||||||
@@ -9948,7 +9948,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-policy"
|
name = "rustfs-policy"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"base64-simd",
|
"base64-simd",
|
||||||
@@ -9976,7 +9976,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-protocols"
|
name = "rustfs-protocols"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"astral-tokio-tar",
|
"astral-tokio-tar",
|
||||||
"async-compression",
|
"async-compression",
|
||||||
@@ -10034,7 +10034,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-protos"
|
name = "rustfs-protos"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"flatbuffers",
|
"flatbuffers",
|
||||||
"prost 0.14.3",
|
"prost 0.14.3",
|
||||||
@@ -10050,7 +10050,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-rio"
|
name = "rustfs-rio"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm 0.11.0-rc.3",
|
"aes-gcm 0.11.0-rc.3",
|
||||||
"axum",
|
"axum",
|
||||||
@@ -10084,14 +10084,14 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-s3-ops"
|
name = "rustfs-s3-ops"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rustfs-s3-types",
|
"rustfs-s3-types",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-s3-types"
|
name = "rustfs-s3-types"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@@ -10099,7 +10099,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-s3select-api"
|
name = "rustfs-s3select-api"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -10126,7 +10126,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-s3select-query"
|
name = "rustfs-s3select-query"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-recursion",
|
"async-recursion",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -10143,7 +10143,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-scanner"
|
name = "rustfs-scanner"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"chrono",
|
"chrono",
|
||||||
@@ -10175,7 +10175,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-signer"
|
name = "rustfs-signer"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64-simd",
|
"base64-simd",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -10191,7 +10191,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-targets"
|
name = "rustfs-targets"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-nats",
|
"async-nats",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -10233,7 +10233,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-trusted-proxies"
|
name = "rustfs-trusted-proxies"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
@@ -10257,7 +10257,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-utils"
|
name = "rustfs-utils"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64-simd",
|
"base64-simd",
|
||||||
"blake2 0.11.0-rc.6",
|
"blake2 0.11.0-rc.6",
|
||||||
@@ -10302,7 +10302,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustfs-zip"
|
name = "rustfs-zip"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"astral-tokio-tar",
|
"astral-tokio-tar",
|
||||||
"async-compression",
|
"async-compression",
|
||||||
|
|||||||
+37
-37
@@ -59,7 +59,7 @@ edition = "2024"
|
|||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
repository = "https://github.com/rustfs/rustfs"
|
repository = "https://github.com/rustfs/rustfs"
|
||||||
rust-version = "1.95.0"
|
rust-version = "1.95.0"
|
||||||
version = "1.0.0-beta.3"
|
version = "1.0.0-beta.4"
|
||||||
homepage = "https://rustfs.com"
|
homepage = "https://rustfs.com"
|
||||||
description = "RustFS is a high-performance distributed object storage software built using Rust, one of the most popular languages worldwide. "
|
description = "RustFS is a high-performance distributed object storage software built using Rust, one of the most popular languages worldwide. "
|
||||||
keywords = ["RustFS", "Minio", "object-storage", "filesystem", "s3"]
|
keywords = ["RustFS", "Minio", "object-storage", "filesystem", "s3"]
|
||||||
@@ -76,42 +76,42 @@ redundant_clone = "warn"
|
|||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
# RustFS Internal Crates
|
# RustFS Internal Crates
|
||||||
rustfs = { path = "./rustfs", version = "1.0.0-beta.3" }
|
rustfs = { path = "./rustfs", version = "1.0.0-beta.4" }
|
||||||
rustfs-heal = { path = "crates/heal", version = "1.0.0-beta.3" }
|
rustfs-heal = { path = "crates/heal", version = "1.0.0-beta.4" }
|
||||||
rustfs-audit = { path = "crates/audit", version = "1.0.0-beta.3" }
|
rustfs-audit = { path = "crates/audit", version = "1.0.0-beta.4" }
|
||||||
rustfs-checksums = { path = "crates/checksums", version = "1.0.0-beta.3" }
|
rustfs-checksums = { path = "crates/checksums", version = "1.0.0-beta.4" }
|
||||||
rustfs-common = { path = "crates/common", version = "1.0.0-beta.3" }
|
rustfs-common = { path = "crates/common", version = "1.0.0-beta.4" }
|
||||||
rustfs-data-usage = { path = "crates/data-usage", version = "1.0.0-beta.3" }
|
rustfs-data-usage = { path = "crates/data-usage", version = "1.0.0-beta.4" }
|
||||||
rustfs-config = { path = "./crates/config", version = "1.0.0-beta.3" }
|
rustfs-config = { path = "./crates/config", version = "1.0.0-beta.4" }
|
||||||
rustfs-concurrency = { path = "./crates/concurrency", version = "1.0.0-beta.3" }
|
rustfs-concurrency = { path = "./crates/concurrency", version = "1.0.0-beta.4" }
|
||||||
rustfs-credentials = { path = "crates/credentials", version = "1.0.0-beta.3" }
|
rustfs-credentials = { path = "crates/credentials", version = "1.0.0-beta.4" }
|
||||||
rustfs-crypto = { path = "crates/crypto", version = "1.0.0-beta.3" }
|
rustfs-crypto = { path = "crates/crypto", version = "1.0.0-beta.4" }
|
||||||
rustfs-ecstore = { path = "crates/ecstore", version = "1.0.0-beta.3" }
|
rustfs-ecstore = { path = "crates/ecstore", version = "1.0.0-beta.4" }
|
||||||
rustfs-filemeta = { path = "crates/filemeta", version = "1.0.0-beta.3" }
|
rustfs-filemeta = { path = "crates/filemeta", version = "1.0.0-beta.4" }
|
||||||
rustfs-iam = { path = "crates/iam", version = "1.0.0-beta.3" }
|
rustfs-iam = { path = "crates/iam", version = "1.0.0-beta.4" }
|
||||||
rustfs-keystone = { path = "crates/keystone", version = "1.0.0-beta.3" }
|
rustfs-keystone = { path = "crates/keystone", version = "1.0.0-beta.4" }
|
||||||
rustfs-kms = { path = "crates/kms", version = "1.0.0-beta.3" }
|
rustfs-kms = { path = "crates/kms", version = "1.0.0-beta.4" }
|
||||||
rustfs-lock = { path = "crates/lock", version = "1.0.0-beta.3" }
|
rustfs-lock = { path = "crates/lock", version = "1.0.0-beta.4" }
|
||||||
rustfs-madmin = { path = "crates/madmin", version = "1.0.0-beta.3" }
|
rustfs-madmin = { path = "crates/madmin", version = "1.0.0-beta.4" }
|
||||||
rustfs-notify = { path = "crates/notify", version = "1.0.0-beta.3" }
|
rustfs-notify = { path = "crates/notify", version = "1.0.0-beta.4" }
|
||||||
rustfs-io-metrics = { path = "crates/io-metrics", version = "1.0.0-beta.3" }
|
rustfs-io-metrics = { path = "crates/io-metrics", version = "1.0.0-beta.4" }
|
||||||
rustfs-io-core = { path = "crates/io-core", version = "1.0.0-beta.3" }
|
rustfs-io-core = { path = "crates/io-core", version = "1.0.0-beta.4" }
|
||||||
rustfs-object-capacity = { path = "crates/object-capacity", version = "1.0.0-beta.3" }
|
rustfs-object-capacity = { path = "crates/object-capacity", version = "1.0.0-beta.4" }
|
||||||
rustfs-obs = { path = "crates/obs", version = "1.0.0-beta.3" }
|
rustfs-obs = { path = "crates/obs", version = "1.0.0-beta.4" }
|
||||||
rustfs-policy = { path = "crates/policy", version = "1.0.0-beta.3" }
|
rustfs-policy = { path = "crates/policy", version = "1.0.0-beta.4" }
|
||||||
rustfs-protos = { path = "crates/protos", version = "1.0.0-beta.3" }
|
rustfs-protos = { path = "crates/protos", version = "1.0.0-beta.4" }
|
||||||
rustfs-protocols = { path = "crates/protocols", version = "1.0.0-beta.3" }
|
rustfs-protocols = { path = "crates/protocols", version = "1.0.0-beta.4" }
|
||||||
rustfs-rio = { path = "crates/rio", version = "1.0.0-beta.3" }
|
rustfs-rio = { path = "crates/rio", version = "1.0.0-beta.4" }
|
||||||
rustfs-s3-types = { path = "crates/s3-types", version = "1.0.0-beta.3" }
|
rustfs-s3-types = { path = "crates/s3-types", version = "1.0.0-beta.4" }
|
||||||
rustfs-s3-ops = { path = "crates/s3-ops", version = "1.0.0-beta.3" }
|
rustfs-s3-ops = { path = "crates/s3-ops", version = "1.0.0-beta.4" }
|
||||||
rustfs-s3select-api = { path = "crates/s3select-api", version = "1.0.0-beta.3" }
|
rustfs-s3select-api = { path = "crates/s3select-api", version = "1.0.0-beta.4" }
|
||||||
rustfs-s3select-query = { path = "crates/s3select-query", version = "1.0.0-beta.3" }
|
rustfs-s3select-query = { path = "crates/s3select-query", version = "1.0.0-beta.4" }
|
||||||
rustfs-scanner = { path = "crates/scanner", version = "1.0.0-beta.3" }
|
rustfs-scanner = { path = "crates/scanner", version = "1.0.0-beta.4" }
|
||||||
rustfs-signer = { path = "crates/signer", version = "1.0.0-beta.3" }
|
rustfs-signer = { path = "crates/signer", version = "1.0.0-beta.4" }
|
||||||
rustfs-trusted-proxies = { path = "crates/trusted-proxies", version = "1.0.0-beta.3" }
|
rustfs-trusted-proxies = { path = "crates/trusted-proxies", version = "1.0.0-beta.4" }
|
||||||
rustfs-targets = { path = "crates/targets", version = "1.0.0-beta.3" }
|
rustfs-targets = { path = "crates/targets", version = "1.0.0-beta.4" }
|
||||||
rustfs-utils = { path = "crates/utils", version = "1.0.0-beta.3" }
|
rustfs-utils = { path = "crates/utils", version = "1.0.0-beta.4" }
|
||||||
rustfs-zip = { path = "./crates/zip", version = "1.0.0-beta.3" }
|
rustfs-zip = { path = "./crates/zip", version = "1.0.0-beta.4" }
|
||||||
|
|
||||||
# Async Runtime and Networking
|
# Async Runtime and Networking
|
||||||
async-channel = "2.5.0"
|
async-channel = "2.5.0"
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ chown -R 10001:10001 data logs
|
|||||||
docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latest
|
docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latest
|
||||||
|
|
||||||
# Using specific version
|
# Using specific version
|
||||||
docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:1.0.0-beta.3
|
docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:1.0.0-beta.4
|
||||||
```
|
```
|
||||||
|
|
||||||
If you use [podman](https://github.com/containers/podman) instead of docker, you can install the RustFS with the below command
|
If you use [podman](https://github.com/containers/podman) instead of docker, you can install the RustFS with the below command
|
||||||
|
|||||||
+1
-1
@@ -113,7 +113,7 @@ RustFS 容器以非 root 用户 `rustfs` (UID `10001`) 运行。如果您使用
|
|||||||
docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latest
|
docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latest
|
||||||
|
|
||||||
# 使用指定版本运行
|
# 使用指定版本运行
|
||||||
docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:1.0.0-beta.3
|
docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:1.0.0-beta.4
|
||||||
```
|
```
|
||||||
|
|
||||||
您也可以使用 Docker Compose。使用根目录下的 `docker-compose.yml` 文件:
|
您也可以使用 Docker Compose。使用根目录下的 `docker-compose.yml` 文件:
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
{
|
{
|
||||||
default = rustPlatform.buildRustPackage {
|
default = rustPlatform.buildRustPackage {
|
||||||
pname = "rustfs";
|
pname = "rustfs";
|
||||||
version = "1.0.0-beta.3";
|
version = "1.0.0-beta.4";
|
||||||
|
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ apiVersion: v2
|
|||||||
name: rustfs
|
name: rustfs
|
||||||
description: RustFS helm chart to deploy RustFS on kubernetes cluster.
|
description: RustFS helm chart to deploy RustFS on kubernetes cluster.
|
||||||
type: application
|
type: application
|
||||||
version: "0.3.0"
|
version: "0.4.0"
|
||||||
appVersion: "1.0.0-beta.3"
|
appVersion: "1.0.0-beta.4"
|
||||||
home: https://rustfs.com
|
home: https://rustfs.com
|
||||||
icon: https://media.sys.truenas.net/apps/rustfs/icons/icon.svg
|
icon: https://media.sys.truenas.net/apps/rustfs/icons/icon.svg
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|||||||
+4
-1
@@ -2,7 +2,7 @@
|
|||||||
%global _empty_manifest_terminate_build 0
|
%global _empty_manifest_terminate_build 0
|
||||||
Name: rustfs
|
Name: rustfs
|
||||||
Version: 1.0.0
|
Version: 1.0.0
|
||||||
Release: beta.3
|
Release: beta.4
|
||||||
Summary: High-performance distributed object storage for MinIO alternative
|
Summary: High-performance distributed object storage for MinIO alternative
|
||||||
|
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
@@ -57,6 +57,9 @@ install %_builddir/%{name}-%{version}-%{release}/target/%_arch/%_arch-unknown-li
|
|||||||
%_bindir/rustfs
|
%_bindir/rustfs
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu May 20 2026 houseme <housemecn@gmail.com>
|
||||||
|
- Update RPM package to RustFS 1.0.0-beta.4
|
||||||
|
|
||||||
* Thu May 14 2026 houseme <housemecn@gmail.com>
|
* Thu May 14 2026 houseme <housemecn@gmail.com>
|
||||||
- Update RPM package to RustFS 1.0.0-beta.3
|
- Update RPM package to RustFS 1.0.0-beta.3
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user