dandan
4ccdeb9d2a
refactor(lock): restructure lock crate, remove unused modules and clarify directory layout
...
- Remove unused core/rwlock.rs and manager/ modules (ManagerFactory, LifecycleManager, NamespaceManager)
- Move all lock-related code into crates/lock/src with clear submodules: client, core, utils, etc.
- Ensure only necessary files and APIs are exposed, improve maintainability
- No functional logic change, pure structure and cleanup refactor
Signed-off-by: dandan <dandan@dandandeMac-Studio.local >
2025-07-24 11:52:55 +08:00
dependabot[bot]
1b48934f47
build(deps): bump the dependencies group with 5 updates ( #289 )
...
Bumps the dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [hyper-util](https://github.com/hyperium/hyper-util ) | `0.1.15` | `0.1.16` |
| [rand](https://github.com/rust-random/rand ) | `0.9.1` | `0.9.2` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.140` | `1.0.141` |
| [strum](https://github.com/Peternator7/strum ) | `0.27.1` | `0.27.2` |
| [sysinfo](https://github.com/GuillaumeGomez/sysinfo ) | `0.36.0` | `0.36.1` |
Updates `hyper-util` from 0.1.15 to 0.1.16
- [Release notes](https://github.com/hyperium/hyper-util/releases )
- [Changelog](https://github.com/hyperium/hyper-util/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper-util/compare/v0.1.15...v0.1.16 )
Updates `rand` from 0.9.1 to 0.9.2
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/rand_core-0.9.1...rand_core-0.9.2 )
Updates `serde_json` from 1.0.140 to 1.0.141
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.140...v1.0.141 )
Updates `strum` from 0.27.1 to 0.27.2
- [Release notes](https://github.com/Peternator7/strum/releases )
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Peternator7/strum/compare/v0.27.1...v0.27.2 )
Updates `sysinfo` from 0.36.0 to 0.36.1
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md )
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.36.0...v0.36.1 )
---
updated-dependencies:
- dependency-name: hyper-util
dependency-version: 0.1.16
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: rand
dependency-version: 0.9.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: serde_json
dependency-version: 1.0.141
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: strum
dependency-version: 0.27.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: sysinfo
dependency-version: 0.36.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-24 11:50:52 +08:00
houseme
20cd117aa6
improve code for dockerfile ( #256 )
...
* improve code for dockerfile
* Update Dockerfile
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* improve code for file name
* improve code for dockerfile
* fix
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-18 15:53:00 +08:00
Nugine
04d1c8724d
build: upgrade s3s ( #193 )
2025-07-14 15:19:01 +08:00
houseme
564a02f344
feat(obs, net): Add Tempo service and enable dual-stack listener ( #192 )
...
This commit introduces two key enhancements: the integration of Grafana Tempo for distributed tracing and the implementation of a dual-stack TCP listener for improved network compatibility.
- **Observability**:
- Adds the `tempo` service to the `docker-compose.yml` observability stack.
- Tempo is configured to collect and store traces, integrating with the existing OpenTelemetry setup.
- A custom `tempo-entrypoint.sh` script is included to manage volume permissions on startup.
- **Networking**:
- Modifies `http.rs` to support dual-stack (IPv4/IPv6) connections on a single socket.
- By setting the `IPV6_V6ONLY` socket option to `false`, the server can now accept both IPv6 and IPv4-mapped IPv6 traffic, enhancing cross-platform support.
2025-07-13 20:22:46 +08:00
houseme
49a5643e76
refactor(config): Unify S3 API and Console ports ( #173 )
...
This commit streamlines the server configuration by unifying the S3 API and the WebUI (Console) to serve on a single port.
Previously, the console was managed by separate configuration options (`RUSTFS_CONSOLE_ENABLE` and `RUSTFS_CONSOLE_ADDRESS`), requiring a distinct port. This added complexity to deployment and configuration.
With this change:
- The `RUSTFS_CONSOLE_ADDRESS` and `RUSTFS_CONSOLE_FS_ENDPOINT` environment variables are removed.
- The WebUI is now always available and served directly from the main application port defined by `RUSTFS_ADDRESS`.
- This simplifies setup, reduces the number of exposed ports, and makes the application easier to manage and deploy, especially in containerized environments.
Users should update their startup scripts and remove the deprecated `RUSTFS_CONSOLE_*` variables.
2025-07-11 14:20:22 +08:00
houseme
505f493729
chore: bump workspace dependencies versions ( #168 )
...
* upgrade package version
# Conflicts:
# crates/rio/Cargo.toml
* fix
* upgrade version
* upgrade version
* cargo fmt
2025-07-11 10:35:27 +08:00
Nugine
2525b66658
refactor: replace lazy_static with LazyLock ( #164 )
...
* refactor: replace `lazy_static` with `LazyLock`
* update cursorrules
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2025-07-10 23:50:46 +08:00
guojidan
2832f0e089
Scanner ( #156 )
...
* feat: integrate CancellationToken for unified background services management
- Consolidate data scanner and auto heal cancellation tokens into single unified token
- Move GLOBAL_BACKGROUND_SERVICES_CANCEL_TOKEN to global.rs for centralized management
- Add graceful shutdown support to MRF heal routine with MinIO-compatible logic
- Implement heal_routine_with_cancel method preserving original healing logic
- Update main.rs to use unified background services shutdown mechanism
- Enhance error handling with proper ecstore Result types
- Fix clippy warnings for needless return statements
- Maintain backward compatibility while adding modern cancellation support
This change provides a cleaner architecture for background service lifecycle management
and ensures all healing services can be gracefully shut down through a single token.
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix: Refact heal and scanner design
Signed-off-by: junxiang Mu <1948535941@qq.com >
* refact: step 2
Signed-off-by: junxiang Mu <1948535941@qq.com >
* feat: refactor scanner module and add data usage statistics
- Move scanner code to scanner/ subdirectory for better organization
- Add data usage statistics collection and persistence
- Implement histogram support for size and version distribution
- Add global cancel token management for scanner operations
- Integrate scanner with ECStore for comprehensive data analysis
- Update error handling and improve test isolation
- Add data usage API endpoints and backend integration
Signed-off-by: junxiang Mu <1948535941@qq.com >
* Chore: fix ref and fix comment
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix: fix clippy
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: dandan <dandan@dandandeMac-Studio.local >
2025-07-10 17:10:44 +08:00
houseme
36acb5bce9
feat(console): Enhance network address handling for WebUI ( #129 )
...
* add crates homepage,description,keywords,categories,documentation
* add readme
* modify version 0.0.3
* cargo fmt
* fix: yaml.docker-compose.security.no-new-privileges.no-new-privileges-docker-compose.yml (#63 )
* Feature up/ilm (#61 )
* fix delete-marker expiration. add api_restore.
* remove target return 204
* log level
* fix: make lint build and clippy happy (#71 )
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: make ci and local use the same toolchain (#72 )
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* feat: optimize GitHub Actions workflows with performance improvements (#77 )
* feat: optimize GitHub Actions workflows with performance improvements
- Rename workflows with more descriptive names
- Add unified setup action for consistent environment setup
- Optimize caching strategy with Swatinem/rust-cache@v2
- Implement skip-check mechanism to avoid duplicate builds
- Simplify matrix builds with better include/exclude logic
- Add intelligent build strategy checks
- Optimize Docker multi-arch builds
- Improve artifact naming and retention
- Add performance testing with benchmark support
- Enhance security audit with dependency scanning
- Change Chinese comments to English for better maintainability
Performance improvements:
- CI testing: ~35 min (42% faster)
- Build release: ~60 min (50% faster)
- Docker builds: ~45 min (50% faster)
- Security audit: ~8 min (47% faster)
* fix: correct secrets context usage in GitHub Actions workflow
- Move environment variables to job level to fix secrets access issue
- Fix unrecognized named-value 'secrets' error in if condition
- Ensure OSS upload step can properly check for required secrets
* fix: resolve GitHub API rate limit by adding authentication token
- Add github-token input to setup action to authenticate GitHub API requests
- Pass GITHUB_TOKEN to all setup action usages to avoid rate limiting
- Fix arduino/setup-protoc@v3 API access issues in CI/CD workflows
- Ensure protoc installation can successfully access GitHub releases API
* fix:make bucket err (#85 )
* Rename DEVELOPMENT.md to CONTRIBUTING.md
* Create issue-translator.yml (#89 )
Enable Issues Translator
* fix(dockerfile): correct env variable names for access/secret key and improve compatibility (#90 )
* fix: restore Zig and cargo-zigbuild caching in GitHub Actions setup action (#92 )
* fix: restore Zig and cargo-zigbuild caching in GitHub Actions setup action
Use mlugg/setup-zig and taiki-e/cache-cargo-install-action to speed up cross-compilation tool installation and avoid repeated downloads. All comments and code are in English.
* fix: use correct taiki-e/install-action for cargo-zigbuild
Use taiki-e/install-action@cargo-zigbuild instead of taiki-e/cache-cargo-install-action@v2 to match the original implementation from PR #77 .
* refactor: remove explicit Zig version to use latest stable
* Create CODE_OF_CONDUCT.md
* Create SECURITY.md
* Update issue templates
* Create CLA.md
* docs: update PR template to English version
* fix: improve data scanner random sleep calculation
- Fix random number generation API usage
- Adjust sleep calculation to follow MinIO pattern
- Ensure proper random range for scanner cycles
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix: soupprt ipv6
* improve log
* add client ip log
* Update rustfs/src/console.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* improve code
* feat: unify package format to zip for all platforms
---------
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: kira-offgrid <kira@offgridsec.com >
Co-authored-by: likewu <likewu@126.com >
Co-authored-by: laoliu <lygn128@163.com >
Co-authored-by: yihong <zouzou0208@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: weisd <im@weisd.in >
Co-authored-by: Yone <zhiyu@live.cn >
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
Co-authored-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-09 14:39:40 +08:00
yihong
abd5dff9b5
fix: make lint build and clippy happy ( #71 )
...
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
2025-07-07 09:55:53 +08:00
houseme
5cf9087113
modify version 0.0.3
2025-07-04 09:17:48 +08:00
Nugine
dd12250987
build: upgrade s3s ( #42 )
2025-07-04 08:39:56 +08:00
houseme
086331b8e7
fix
2025-07-04 01:48:35 +08:00
houseme
96d22c3276
Refactor(server): Encapsulate service creation within connection handler
...
Move the construction of the hybrid service stack, including all middleware and the RPC service, from the main `run` function into the `process_connection` function.
This change ensures that each incoming connection gets its own isolated service instance. This improves modularity by making the connection handling logic more self-contained and simplifies the main server loop.
Key changes:
- The `hybrid_service` and `rpc_service` are now created inside `process_connection`.
- The `run` function's responsibility is reduced to accepting TCP connections and spawning tasks for `process_connection`.
2025-07-04 01:33:16 +08:00
houseme
c6527643a3
merge
2025-07-03 17:35:02 +08:00
weisd
6983a3ffce
feat: change default listen to IPv4 and add panic recovery ( #36 )
2025-07-03 13:51:38 +08:00
houseme
5826396cd0
refactor: Restructure project layout and clean up dependencies ( #30 )
...
This commit introduces a significant reorganization of the project structure to improve maintainability and clarity.
Key changes include:
- Adjusted the directory layout for a more logical module organization.
- Removed unused crate dependencies, reducing the overall project size and potentially speeding up build times.
- Updated import paths and configuration files to reflect the structural changes.
2025-07-02 19:33:12 +08:00
dependabot[bot]
d3575dccce
build(deps): bump the dependencies group with 2 updates
...
Bumps the dependencies group with 2 updates: [aws-sdk-s3](https://github.com/awslabs/aws-sdk-rust ) and [reqwest](https://github.com/seanmonstar/reqwest ).
Updates `aws-sdk-s3` from 1.94.0 to 1.95.0
- [Release notes](https://github.com/awslabs/aws-sdk-rust/releases )
- [Commits](https://github.com/awslabs/aws-sdk-rust/commits )
Updates `reqwest` from 0.12.21 to 0.12.22
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.21...v0.12.22 )
---
updated-dependencies:
- dependency-name: aws-sdk-s3
dependency-version: 1.95.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: reqwest
dependency-version: 0.12.22
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-02 03:29:41 +00:00
houseme
cc63e56b8a
improve cargo toml
2025-07-01 22:00:58 +08:00
dependabot[bot]
d736c6224d
Bump the dependencies group with 7 updates
...
Bumps the dependencies group with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [aws-sdk-s3](https://github.com/awslabs/aws-sdk-rust ) | `1.91.0` | `1.94.0` |
| [cfg-if](https://github.com/rust-lang/cfg-if ) | `1.0.0` | `1.0.1` |
| [flexi_logger](https://github.com/emabee/flexi_logger ) | `0.31.1` | `0.31.2` |
| [reqwest](https://github.com/seanmonstar/reqwest ) | `0.12.20` | `0.12.21` |
| [shadow-rs](https://github.com/baoyachi/shadow-rs ) | `1.1.1` | `1.2.0` |
| [std-next](https://github.com/Nugine/std-next ) | `0.1.8` | `0.1.9` |
| [temp-env](https://github.com/vmx/temp-env ) | `0.2.0` | `0.3.6` |
Updates `aws-sdk-s3` from 1.91.0 to 1.94.0
- [Release notes](https://github.com/awslabs/aws-sdk-rust/releases )
- [Commits](https://github.com/awslabs/aws-sdk-rust/commits )
Updates `cfg-if` from 1.0.0 to 1.0.1
- [Release notes](https://github.com/rust-lang/cfg-if/releases )
- [Changelog](https://github.com/rust-lang/cfg-if/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cfg-if/compare/1.0.0...v1.0.1 )
Updates `flexi_logger` from 0.31.1 to 0.31.2
- [Release notes](https://github.com/emabee/flexi_logger/releases )
- [Changelog](https://github.com/emabee/flexi_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/emabee/flexi_logger/commits )
Updates `reqwest` from 0.12.20 to 0.12.21
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/commits )
Updates `shadow-rs` from 1.1.1 to 1.2.0
- [Release notes](https://github.com/baoyachi/shadow-rs/releases )
- [Commits](https://github.com/baoyachi/shadow-rs/compare/v1.1.1...v1.2.0 )
Updates `std-next` from 0.1.8 to 0.1.9
- [Release notes](https://github.com/Nugine/std-next/releases )
- [Commits](https://github.com/Nugine/std-next/compare/v0.1.8...v0.1.9 )
Updates `temp-env` from 0.2.0 to 0.3.6
- [Changelog](https://github.com/vmx/temp-env/blob/main/RELEASE.md )
- [Commits](https://github.com/vmx/temp-env/compare/v0.2.0...v0.3.6 )
---
updated-dependencies:
- dependency-name: aws-sdk-s3
dependency-version: 1.94.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: cfg-if
dependency-version: 1.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: flexi_logger
dependency-version: 0.31.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: reqwest
dependency-version: 0.12.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: shadow-rs
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: std-next
dependency-version: 0.1.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: temp-env
dependency-version: 0.3.6
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-01 08:50:46 +00:00
weisd
e9610f1fb7
feat: add IAM export/import
...
- Add complete IAM configuration export/import functionality with ZIP format
- Add new API endpoints for IAM backup and restore operations
2025-06-30 22:01:07 +08:00
likewu
f38108d20d
fix format
2025-06-28 14:34:21 +08:00
houseme
26f84a9696
Feature/event ( #513 )
...
* improve code for notify
* fix
* cargo fmt
* improve code and create `DEFAULT_DELIMITER`
* fix
* fix
* improve code for notify
* fmt
* Update crates/notify/src/registry.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update crates/notify/src/factory.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix cllipy
* fix
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-27 00:28:28 +08:00
houseme
831cb0b6d9
Feature/event: Optimize and Enhance Notify Crate Functionality ( #512 )
...
* improve code for notify
* fix
* cargo fmt
* improve code and create `DEFAULT_DELIMITER`
* fix
* fix
* improve code for notify
* fmt
* Update crates/notify/src/registry.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update crates/notify/src/factory.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix cllipy
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-26 12:24:00 +08:00
houseme
39a290e061
improve code for docker
2025-06-24 23:27:29 +08:00
houseme
e8a5b5d12c
improve flexi_logger relation
2025-06-24 09:19:26 +08:00
houseme
833f9c908f
fix: remove crate
2025-06-23 18:02:54 +08:00
likewu
cc71f40a6d
ilm feature add
2025-06-22 23:04:40 +08:00
weisd
e8a59d7c07
move disk::utils to crates::utils
2025-06-11 15:55:40 +08:00
weisd
5c610e26c9
Merge branch 'main' into refactor/io
2025-06-10 18:04:50 +08:00
houseme
3cf265611a
modify ci pr-checks
2025-06-10 10:11:47 +08:00
weisd
6ea0185519
add reed-solomon-simd banchmark
2025-06-10 00:09:05 +08:00
weisd
e62947f7b2
add reed-solomon-simd
2025-06-09 18:04:42 +08:00
weisd
f85ef06783
merge main
2025-06-09 15:31:11 +08:00
weisd
1d2aeb288a
Upgrade rand to 0.9.1
2025-06-09 10:13:03 +08:00
houseme
1432ddb119
feat(obs): upgrade OpenTelemetry dependencies to latest version ( #447 )
...
- Update opentelemetry from 0.29.1 to 0.30.0
- Update related opentelemetry dependencies for compatibility
- Ensure compatibility with existing observability implementation
- Improve tracing and metrics collection capabilities
This upgrade provides better performance and stability for our observability stack.
2025-06-07 00:10:20 +08:00
weisd
c589972fa7
mc test ok
2025-06-06 16:15:26 +08:00
houseme
2fec6d161c
fix: remove dep crate openssl relation
2025-06-06 15:13:55 +08:00
houseme
c03458202a
fix
2025-06-06 13:50:50 +08:00
houseme
6ea770b6c8
Merge branch 'main' of github.com:rustfs/s3-rustfs
...
* 'main' of github.com:rustfs/s3-rustfs:
add Cargo.lock
fix filemeta/intofileversions
# Conflicts:
# Cargo.lock
2025-06-06 12:19:29 +08:00
houseme
8c15835414
fix cargo.toml
2025-06-06 12:11:08 +08:00
weisd
998f4578b1
add Cargo.lock
2025-06-06 11:49:24 +08:00
weisd
db355bb26b
todo
2025-06-06 11:35:27 +08:00
weisd
9384b831ec
ecstore update ec/disk/error
2025-06-06 01:13:51 +08:00
lygn128
3c7b66e039
bucket replication
2025-06-05 14:26:42 +00:00
houseme
3ceec7b5f2
improve code for obs
2025-05-29 21:10:04 +08:00
houseme
c74410858e
upgrade crates reqwest from 0.12.15 to 0.12.16 and clap from 4.5.37 to 4.5.39
2025-05-28 16:02:53 +08:00
overtrue
c29841a5e7
feat: add comprehensive test coverage for utils certs module
2025-05-27 22:44:30 +08:00
houseme
864071d641
cargo fmt
2025-05-25 17:46:59 +08:00