houseme
04f441361e
replace winapi to windows crate ( #1455 )
2026-01-10 02:15:08 +08:00
houseme
eb33e82b56
fix: Prevent panic in GetMetrics gRPC handler on invalid input ( #1291 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2025-12-29 03:10:23 +08:00
Copilot
8dd3e8b534
fix: decode form-urlencoded object names in webhook/mqtt Key field ( #1210 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2025-12-20 01:31:09 +08:00
Copilot
601f3456bc
Fix large file upload freeze with adaptive buffer sizing ( #869 )
...
* Initial plan
* Fix large file upload freeze by increasing StreamReader buffer size
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Add comprehensive documentation for large file upload freeze fix
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* upgrade s3s version
* Fix compilation error: use BufReader instead of non-existent StreamReader::with_capacity
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Update documentation with correct BufReader implementation
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* add tokio feature `io-util`
* Implement adaptive buffer sizing based on file size
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Constants are managed uniformly and fmt code
* fix
* Fix: Trigger self-heal on read when shards missing from rejoined nodes (#871 )
* Initial plan
* Fix: Trigger self-heal when missing shards detected during read
- Added proactive heal detection in get_object_with_fileinfo
- When reading an object, now checks if any shards are missing even if read succeeds
- Sends low-priority heal request to reconstruct missing shards on rejoined nodes
- This fixes the issue where data written during node outage is not healed when node rejoins
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* fix
* Unify CRC implementations to crc-fast (#873 )
* Initial plan
* Replace CRC libraries with unified crc-fast implementation
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* fix
* fix: replace low to Normal
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2025-11-17 23:15:20 +08:00
Copilot
b7964081ce
Fix KMS configuration synchronization across cluster nodes ( #855 )
...
* Initial plan
* Add KMS configuration persistence to cluster storage
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Apply code formatting to KMS configuration changes
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* add comment
* fix fmt
* fix
* Fix overlapping dependabot cargo configurations
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* improve code for comment and replace `Once_Cell` to `std::sync::OnceLock`
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
2025-11-16 00:05:03 +08:00
houseme
e22b24684f
chore: bump dependencies, add metrics support, remove DNS resolver ( #699 )
...
* upgrade version
* add metrics
* remove dns resolver
* add metrics counter for create bucket
* fix
* fix
* fix
2025-10-24 00:16:17 +08:00
weisd
a65856bdf4
Fix CRC32C Checksum Implementation and Enhance Authentication System ( #678 )
...
* fix: get_condition_values
* fix checksum crc32c
* fix clippy
2025-10-21 21:28:00 +08:00
Copilot
ad99019749
Add complete MNMD Docker deployment example with startup coordination and VolumeNotFound fix ( #642 )
...
* Initial plan
* Add MNMD Docker deployment example with 4 nodes x 4 drives
- Create docs/examples/mnmd/ directory structure
- Add docker-compose.yml with proper disk indexing (1..4)
- Add wait-and-start.sh for startup coordination
- Add README.md with usage instructions and alternatives
- Add CHECKLIST.md with step-by-step verification
- Fixes VolumeNotFound issue by using correct volume paths
- Implements health checks and startup ordering
- Uses service names for stable inter-node addressing
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Add docs/examples README as index for deployment examples
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Add automated test script for MNMD deployment
- Add test-deployment.sh with comprehensive validation
- Test container status, health, endpoints, connectivity
- Update README to reference test script
- Make script executable
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* improve code
* improve code
* improve dep crates `cargo shear --fix`
* upgrade aws-sdk-s3
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2025-10-12 13:15:14 +08:00
houseme
aac9b1edb7
chore: improve event and docker-compose ,Improve the permissions of the endpoint health interface, upgrade otel from 0.30.0 to 0.31.0 ( #620 )
...
* feat: improve code for notify
* upgrade starshard version
* upgrade version
* Fix ETag format to comply with HTTP standards by wrapping with quotes (#592 )
* Initial plan
* Fix ETag format to comply with HTTP standards by wrapping with quotes
Co-authored-by: overtrue <1472352+overtrue@users.noreply.github.com >
* bufigx
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: overtrue <1472352+overtrue@users.noreply.github.com >
Co-authored-by: overtrue <anzhengchao@gmail.com >
* Improve lock (#596 )
* improve lock
Signed-off-by: Mu junxiang <1948535941@qq.com >
* feat(tests): add wait_for_object_absence helper and improve lifecycle test reliability
Signed-off-by: Mu junxiang <1948535941@qq.com >
* chore: remove dirty docs
Signed-off-by: Mu junxiang <1948535941@qq.com >
---------
Signed-off-by: Mu junxiang <1948535941@qq.com >
* feat(append): implement object append operations with state tracking (#599 )
* feat(append): implement object append operations with state tracking
Signed-off-by: junxiang Mu <1948535941@qq.com >
* chore: rebase
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: junxiang Mu <1948535941@qq.com >
* build(deps): upgrade s3s (#595 )
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
* fix: validate mqtt broker
* improve code for `import`
* upgrade otel relation crates version
* fix:dep("jsonwebtoken") feature = 'rust_crypto'
* fix
* fix
* fix
* upgrade version
* improve code for ecfs
* chore: improve event and docker-compose ,Improve the permissions of the `endpoint` health interface
* fix
* fix
* fix
* fix
* improve code
* fix
---------
Signed-off-by: Mu junxiang <1948535941@qq.com >
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: overtrue <1472352+overtrue@users.noreply.github.com >
Co-authored-by: overtrue <anzhengchao@gmail.com >
Co-authored-by: guojidan <63799833+guojidan@users.noreply.github.com >
Co-authored-by: Nugine <nugine@foxmail.com >
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
2025-10-11 09:08:25 +08:00
weisd
90f21a9102
refactor: Reimplement bucket replication system with enhanced architecture ( #590 )
...
* feat:refactor replication
* use aws sdk for replication client
* refactor/replication
* merge main
* fix lifecycle test
2025-09-26 14:27:53 +08:00
houseme
0c3079ae5e
remove deps ( #529 )
2025-09-13 21:06:40 +08:00
Copilot
29c004d935
feat: enhance console separation with enterprise-grade security, monitoring, and advanced tower-http integration ( #513 )
...
* Initial plan
* feat: implement console service separation from endpoint
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* feat: add console separation documentation and tests
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* feat: enhance console separation with configurable CORS and improved Docker support
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* feat: implement enhanced console separation with security hardening and monitoring
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* refactor: implement console TLS following endpoint logic and improve configuration
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* add tower-http feature "timeout|limit"
* add dependencies crates `axum-server`
* refactor: reconstruct console server with enhanced tower-http features and environment variables
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* upgrade dep
* improve code for dns and console port `:9001`
* improve code
* fix
* docs: comprehensive improvement of console separation documentation and Docker deployment standards
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* fmt
* add logs
* improve code for Config handler
* remove logs
* fix
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2025-09-13 14:48:14 +08:00
Copilot
ca9a2b6ab9
feat: Implement enhanced DNS resolver with hickory-resolver, TLS support, and layered fallback for Kubernetes environments ( #505 )
...
* Initial plan
* feat: Implement layered DNS resolver with caching and validation
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* feat: Integrate DNS resolver into main application and fix formatting
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* feat: Implement enhanced DNS resolver with Moka cache and layered fallback
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* feat: Implement hickory-resolver with TLS support for enhanced DNS resolution
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* upgrade
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2025-09-10 21:16:33 +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
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
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
830d2b8df5
fix: dep ( #21 )
2025-07-02 13:26:13 +08:00
houseme
2698d3aa10
fix/event ( #514 )
...
* 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
* fix
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-27 09:41:29 +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
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
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
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
c48ebd5149
feat: add compress support
2025-06-17 15:06:40 +08:00
weisd
e8a59d7c07
move disk::utils to crates::utils
2025-06-11 15:55:40 +08:00
houseme
28c71cc351
fix
2025-06-09 12:25:56 +08:00
weisd
9384b831ec
ecstore update ec/disk/error
2025-06-06 01:13:51 +08:00
overtrue
c29841a5e7
feat: add comprehensive test coverage for utils certs module
2025-05-27 22:44:30 +08:00
overtrue
a6c3b122bd
feat: enhance test coverage and fix compilation errors
2025-05-25 12:56:43 +08:00
houseme
571cedf4ce
feat(obs): implement global OpenTelemetry guard management
2025-05-12 13:32:18 +08:00
houseme
29ddf4dbc8
refactor: standardize constant management and fix typos ( #387 )
...
* init rustfs config
* init rustfs-utils crate
* improve code for rustfs-config crate
* add
* improve code for comment
* init rustfs config
* improve code for rustfs-config crate
* add
* improve code for comment
* Unified management of configurations and constants
* fix: modify rustfs-config crate name
* add default fn
* improve code for rustfs config
* refactor: standardize constant management and fix typos
- Create centralized constants module for global static constants
- Replace runtime format! expressions with compile-time constants
- Fix DEFAULT_PORT reference issues in configuration arguments
- Use const-str crate for compile-time string concatenation
- Update tokio dependency from 1.42.2 to 1.45.0
- Ensure consistent naming convention for configuration constants
* fix
* Update common/workers/src/workers.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-07 17:23:22 +08:00