houseme
c5df1f92c2
refactor: replace lazy_static with LazyLock and notify crate registry create_targets_from_config ( #311 )
...
* improve code for notify
* improve code for logger and fix typo (#272 )
* Add GNU to build.yml (#275 )
* fix unzip error
* fix url change error
fix url change error
* Simplify user experience and integrate console and endpoint
Simplify user experience and integrate console and endpoint
* Add gnu to build.yml
* upgrade version
* feat: add `cargo clippy --fix --allow-dirty` to pre-commit command (#282 )
Resolves #277
- Add --fix flag to automatically fix clippy warnings
- Add --allow-dirty flag to run on dirty Git trees
- Improves code quality in pre-commit workflow
* fix: the issue where preview fails when the path length exceeds 255 characters (#280 )
* fix
* fix: improve Windows build support and CI/CD workflow (#283 )
- Fix Windows zip command issue by using PowerShell Compress-Archive
- Add Windows support for OSS upload with ossutil
- Replace Chinese comments with English in build.yml
- Fix bash syntax error in package_zip function
- Improve code formatting and consistency
- Update various configuration files for better cross-platform support
Resolves Windows build failures in GitHub Actions.
* fix: update link in README.md leading to a 404 error (#285 )
* add rustfs.spec for rustfs (#103 )
add support on loongarch64
* improve cargo.lock
* 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>
* improve code for logger
* improve
* upgrade
* refactor: 优化构建工作流,统一 latest 文件处理和简化制品上传 (#293 )
* Refactor: DatabaseManagerSystem as global
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix: fmt
Signed-off-by: junxiang Mu <1948535941@qq.com >
* Test: add e2e_test for s3select
Signed-off-by: junxiang Mu <1948535941@qq.com >
* Test: add test script for e2e
Signed-off-by: junxiang Mu <1948535941@qq.com >
* improve code for registry and intergation
* improve code for registry `create_targets_from_config`
* fix
* Feature up/ilm (#305 )
* fix
* fix
* fix
* fix delete-marker expiration. add api_restore.
* fix
* time retry object upload
* lock file
* make fmt
* fix
* restore object
* fix
* fix
* serde-rs-xml -> quick-xml
* fix
* checksum
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* transfer lang to english
* upgrade clap version from 4.5.41 to 4.5.42
* refactor: replace `lazy_static` with `LazyLock`
* add router
* fix: modify comment
* improve code
* fix typos
* fix
* fix: modify name and fmt
* improve code for registry
* fix test
---------
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: shiro.lee <69624924+shiroleeee@users.noreply.github.com >
Co-authored-by: Marco Orlandin <mipnamic@mipnamic.net >
Co-authored-by: zhangwenlong <zhangwenlong@loongson.cn >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: likewu <likewu@126.com >
2025-07-30 19:02:10 +08:00
likewu
d56cee26db
Feature up/ilm ( #305 )
...
* fix
* fix
* fix
* fix delete-marker expiration. add api_restore.
* fix
* time retry object upload
* lock file
* make fmt
* fix
* restore object
* fix
* fix
* serde-rs-xml -> quick-xml
* fix
* checksum
* fix
* fix
* fix
* fix
* fix
* fix
* fix
2025-07-29 14:21:19 +08:00
shiro.lee
2c0c7fafa3
fix: Optimized io::ErrorKind::NotFound error handling during Windows system startup ( #181 )
2025-07-12 06:54:21 +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
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
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
weisd
73d3d8ab5c
refactor: simplify hash algorithm API and remove custom hasher implementation ( #37 )
...
- Remove custom hasher.rs module and Hasher trait
- Replace with HashAlgorithm enum for better type safety
- Simplify hash calculation from write()+sum() to hash_encode()
- Remove stateful hasher operations (reset, write, sum)
- Update all hash usage in ecstore client modules
- Maintain compatibility with existing checksum functionality
2025-07-03 15:53:00 +08:00
weisd
6983a3ffce
feat: change default listen to IPv4 and add panic recovery ( #36 )
2025-07-03 13:51:38 +08:00
houseme
2e14b32ccd
chore: Add copyright and license headers ( #23 )
...
* chore: Add copyright and license headers
This commit adds the Apache 2.0 license and a copyright notice to the header of all source files. This ensures that the licensing and copyright information is clearly stated within the codebase.
* cargo fmt
* fix
* fmt
* fix clippy
2025-07-02 15:07:47 +08:00
weisd
3fd70de4a6
fix: clippy
2025-07-01 09:41:55 +08:00
likewu
37861d9af6
fix: clippy
2025-07-01 09:40:29 +08:00
likewu
4ed84a6bc4
separate signer.
...
fix ilm feature.
2025-06-28 14:33:22 +08:00
houseme
7b891750e8
fix
2025-06-27 23:21:27 +08:00
houseme
1efcce0001
fix
2025-06-27 22:59:34 +08:00
houseme
fafba030c2
fix
2025-06-27 19:37:27 +08:00
houseme
7bd8431006
cargo fmt
2025-06-27 18:53:51 +08:00
houseme
749537664f
fix:Apply suggestions from clippy 1.88
2025-06-27 18:16:29 +08:00
houseme
33e5d5a14c
fix:more platform
2025-06-27 15:37:17 +08:00
DESKTOP-L0UFILQ\zhigang
dbe27dc9cd
fix
2025-06-27 12:40:52 +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
weisd
7e17d7d729
refactor: improve object listing and version handling
...
- Refactor find_version_index to accept Uuid directly instead of string
- Split from_meta_cache_entries_sorted into separate methods for versions and infos
- Add support for after_version_id filtering in version listing
- Fix S3 error code for replication configuration not found
- Improve error handling and logging levels
- Clean up import statements and remove debug code
2025-06-24 11:10:23 +08:00
likewu
364c3098b2
Fix/main ( #508 )
...
* fix error
* fix
* fix cargo
* fix openssl cfg
* fix clippy
* fix clippy
* fix
* fix clippy
* fix clippy
2025-06-24 10:27:41 +08:00
likewu
3d5bf5a6d6
Fix/main ( #506 )
2025-06-23 19:27:00 +08:00
likewu
81f0c9763f
Merge branch 'main' of https://github.com/rustfs/s3-rustfs into feature/ilm
...
# Conflicts:
# Cargo.lock
# Cargo.toml
# crates/utils/Cargo.toml
# crates/utils/src/net.rs
# ecstore/Cargo.toml
# ecstore/src/set_disk.rs
# rustfs/src/storage/ecfs.rs
2025-06-23 16:42:18 +08:00
houseme
4654ba0937
fix
2025-06-23 14:54:09 +08:00
likewu
2c176dd864
fix clippy
2025-06-23 12:03:46 +08:00
weisd
5a5712fde0
fix clippy
2025-06-23 10:28:57 +08:00
weisd
4559baaeeb
feat: migrate to reed-solomon-simd only implementation
...
- Remove reed-solomon-erasure dependency and all related code
- Simplify ReedSolomonEncoder from enum to struct with SIMD-only implementation
- Eliminate all conditional compilation (#[cfg(feature = ...)])
- Add instance caching with RwLock-based encoder/decoder reuse
- Implement reset mechanism to avoid unnecessary allocations
- Ensure thread safety with proper cache management
- Update documentation and benchmark scripts for SIMD-only approach
- Apply code formatting across all files
Breaking Changes:
- Removes support for reed-solomon-erasure feature flag
- API remains compatible but implementation is now SIMD-only
Performance Impact:
- Improved encoding/decoding performance through SIMD optimization
- Reduced memory allocations via instance caching
- Enhanced thread safety and concurrency support
2025-06-23 10:00:17 +08:00
likewu
cc71f40a6d
ilm feature add
2025-06-22 23:04:40 +08:00
houseme
c7af6587f5
trace log use local time and get custom user agent
2025-06-22 10:31:32 +08:00
houseme
48d530cb13
Merge branch 'main' of github.com:rustfs/s3-rustfs into feature/observability-metrics
...
# Conflicts:
# crates/utils/Cargo.toml
# ecstore/src/store_list_objects.rs
# iam/src/manager.rs
# rustfs/src/admin/rpc.rs
2025-06-20 12:58:47 +08:00
houseme
d3cc36f6e0
fix
2025-06-20 10:51:36 +08:00
weisd
e145586b65
refactor: reorganize RPC modules into unified structure
2025-06-19 17:06:54 +08:00
houseme
e6b019c29d
Merge branch 'main' of github.com:rustfs/s3-rustfs into feature/observability-metrics
...
# Conflicts:
# .github/workflows/build.yml
# .github/workflows/ci.yml
# Cargo.lock
# Cargo.toml
# appauth/src/token.rs
# crates/config/src/config.rs
# crates/event-notifier/examples/simple.rs
# crates/event-notifier/src/global.rs
# crates/event-notifier/src/lib.rs
# crates/event-notifier/src/notifier.rs
# crates/event-notifier/src/store.rs
# crates/filemeta/src/filemeta.rs
# crates/notify/examples/webhook.rs
# crates/utils/Cargo.toml
# ecstore/Cargo.toml
# ecstore/src/cmd/bucket_replication.rs
# ecstore/src/config/com.rs
# ecstore/src/disk/error.rs
# ecstore/src/disk/mod.rs
# ecstore/src/set_disk.rs
# ecstore/src/store_api.rs
# ecstore/src/store_list_objects.rs
# iam/Cargo.toml
# iam/src/manager.rs
# policy/Cargo.toml
# rustfs/src/admin/rpc.rs
# rustfs/src/main.rs
# rustfs/src/storage/mod.rs
2025-06-19 13:16:48 +08:00
weisd
fa8ac29e76
optimize the code
2025-06-17 15:59:31 +08:00
weisd
c48ebd5149
feat: add compress support
2025-06-17 15:06:40 +08:00
Nugine
bb282bcd5d
fix(utils): hash reduce allocation
2025-06-14 20:42:48 +08:00
Nugine
c413465645
fix(utils): ignore failed test
2025-06-13 18:56:44 +08:00
weisd
e8a59d7c07
move disk::utils to crates::utils
2025-06-11 15:55:40 +08:00
overtrue
4252377249
fix: replace Error::new(ErrorKind::Other) with Error::other() for clippy compliance
2025-06-10 22:15:52 +08:00
weisd
91c099e35f
add Error test, fix clippy
2025-06-09 11:29:23 +08:00
weisd
9384b831ec
ecstore update ec/disk/error
2025-06-06 01:13:51 +08:00
overtrue
8747a91df8
feat: add comprehensive formatting rules and type inference guidelines
2025-05-28 16:04:38 +08:00
安正超
a1f4abf6c3
fix: resolve all Clippy warnings across codebase - Fixed field reassignment warnings in ecstore/src/file_meta.rs by using struct initialization instead of default + field assignment - Fixed overly complex boolean expression in ecstore/src/utils/os/mod.rs by removing meaningless assertion - Replaced manual Default implementation with derive in crates/zip/src/lib.rs - Updated io::Error usage to use io::Error::other() instead of deprecated pattern - Removed useless assertions and clone-on-copy warnings - Fixed unwrap usage by replacing with expect() providing meaningful error messages - Fixed useless vec usage by using array repeat instead - All code now passes comprehensive Clippy check with --all-targets --all-features -- -D warnings
2025-05-28 11:00:07 +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
overtrue
bc398ccf1b
feat: improve test coverage and fix critical crypto bug - Translate all Chinese comments to English in utils/ip.rs and config/constants/app.rs - Add comprehensive test suite for crypto/encdec/id.rs module (14 new tests) - Fix critical bug in Argon2 key generation that was returning all-zero keys - Improve test coverage for IP utilities and configuration constants - Ensure all test cases follow English naming conventions and meaningful descriptions
2025-05-25 13:53:59 +08:00
overtrue
a6c3b122bd
feat: enhance test coverage and fix compilation errors
2025-05-25 12:56:43 +08:00
houseme
136118ed21
fix
2025-05-14 19:04:52 +08:00
houseme
571cedf4ce
feat(obs): implement global OpenTelemetry guard management
2025-05-12 13:32:18 +08:00