cxymds
67904a6c18
fix(ecstore): start with unresolved Kubernetes peers ( #5460 )
...
* fix(ecstore): start with unresolved Kubernetes peers
* fix(ecstore): infer Kubernetes endpoint identity safely
* fix(ecstore): fail closed on unsafe format migration
* fix(ecstore): reject poisoned format heal candidates
* fix(ecstore): reject unsafe legacy migration outliers
* fix(ecstore): resume interrupted format migrations
* fix(ecstore): preserve Kubernetes startup compatibility
2026-07-30 11:14:38 +08:00
houseme
073628e8be
feat(utils): make DNS resolver cache TTL configurable via RUSTFS_DNS_CACHE_TTL_SECS ( #4604 )
...
* feat(utils): make DNS resolver cache TTL configurable via RUSTFS_DNS_CACHE_TTL_SECS
The resolver cache in crates/utils/src/net.rs had a hardcoded 300s TTL with
no way to tune or disable it. On orchestrated networks (Docker Swarm,
Kubernetes) a peer's DNS name is its only durable identity while its container
IP changes on reschedule, and the platform DNS always serves the current
answer. A fixed 300s application-side cache can keep a member dialing a dead IP
for up to five minutes after a peer restarts. Rust has no runtime DNS cache, so
on musl images this was the only cache in the stack and the only one that could
not be turned off.
Read the TTL from RUSTFS_DNS_CACHE_TTL_SECS (u64, default 300), matching the
existing RUSTFS_INTERNODE_* transport knobs. `0` disables caching entirely so
every get_host_ip consults the system resolver. The resolved value is logged
once at first use, removing an invisible cache from the triage surface. Change
is backward-compatible and confined to net.rs.
Also drop the two per-lookup info! logs on the resolve path: they would flood
the log when caching is disabled and added hot-path noise otherwise.
Co-Authored-By: heihutu <heihutu@gmail.com >
* fix(helm): derive mTLS secret names from chart fullname (#4601 )
* fix(helm): mtls certificate for server and client hardcode
* fix hardcode issue in deployment
* update typo yaml file
---------
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: majinghe <42570491+majinghe@users.noreply.github.com >
2026-07-09 03:26:06 +00:00
houseme
583a23bdf2
fix(ecstore): replace panic-driven pool and set stubs ( #3753 )
...
* fix(ecstore): replace panic-driven pool and set stubs
* test(runtime): tolerate restricted local bind checks
* fix(ecstore): remove remaining trait stub placeholders
* fix(ecstore): tighten trait stub follow-up semantics
* chore: ignore local worktrees
* chore: update layer dependency baseline for resolve_* context entries
Add 7 accepted infra->app dependency entries introduced by recent
refactoring PRs (#3770 , #3771 , #3772 ) that route global state lookups
through app::context::resolve_* functions.
Co-Authored-By: heihutu <heihutu@gmail.com >
---------
Co-authored-by: heihutu <heihutu@gmail.com >
2026-06-23 12:31:17 +08:00
安正超
cde53ca6ad
fix(utils): handle IPv6 zones and hex ranges ( #3019 )
...
* fix(utils): handle low-risk TODO range parsing
* fix(utils): address scoped IPv6 and range review
2026-05-20 03:56:14 +00:00
安正超
7d7e0b2654
fix(utils): harden panic-prone paths ( #2113 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: heihutu <30542132+heihutu@users.noreply.github.com >
2026-03-11 15:16:03 +08:00
安正超
9d2b8822cf
refactor: stabilize heal format recovery integration tests ( #1984 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-02-27 15:26:19 +08:00
houseme
04f441361e
replace winapi to windows crate ( #1455 )
2026-01-10 02:15:08 +08:00
houseme
8d7cd4cb1b
chore: upgrade dependencies and migrate to aws-lc-rs ( #1333 )
2026-01-02 00:02:34 +08:00
安正超
8a020ec4d9
wip ( #830 )
2025-11-11 09:34:58 +08:00
安正超
dd47fcf2a8
fix: restore localized samples in tests ( #749 )
...
* fix: restore required localized examples
* style: fix formatting issues
2025-10-29 13:16:31 +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
houseme
416d3ad5b7
Refactor: Add observability enable flag, improve comments, remove unused config params, and enhance run function error logging. ( #689 )
...
* improve code for dns log
* fix
* Improve comments, remove unused parameters in config.rs (opt), add observability enable flag, and enhance error logging in run function execution.
2025-10-23 13:59:57 +08:00
houseme
42d3645d6f
fix(targets): make target removal and reload transactional; prevent reappearing entries ( #662 )
...
* 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`
* fix
* improve
* remove logger from `rustfs-obs` crate
* remove code for config Observability
* fix
* improve code
* fix comment
* up
* up
* upgrade version
* fix
* fmt
* upgrade tokio version to 1.48.0
* upgrade `datafusion` and `reed-solomon-simd` version
* fix
* fmt
* improve code for notify webhook example
* improve code
* fix
* fix
* fmt
---------
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-17 15:34:53 +08:00
安正超
8f310cd4a8
test: allow mocking dns resolver ( #656 )
2025-10-15 21:24:03 +08:00
houseme
a6c211f4ea
Feature/add dns logs ( #558 )
...
* add logs
* improve code for dns and logger
2025-09-18 12:00:43 +08:00
weisd
ae7e86d7ef
refactor: simplify initialization flow and modernize string formatting ( #548 )
2025-09-16 15:44:50 +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
guojidan
62a01f3801
Performance: improve ( #514 )
...
* Performance: improve
Signed-off-by: junxiang Mu <1948535941@qq.com >
* remove dirty
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix some err
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: junxiang Mu <1948535941@qq.com >
2025-09-11 19:48:28 +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
likewu
e00f5be746
Fix/addtier ( #454 )
...
* fix retry
* fmt
* fix
* fix
* fix
---------
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
2025-08-25 10:24:48 +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
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
houseme
749537664f
fix:Apply suggestions from clippy 1.88
2025-06-27 18:16:29 +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
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
2c176dd864
fix clippy
2025-06-23 12:03:46 +08:00
likewu
cc71f40a6d
ilm feature add
2025-06-22 23:04:40 +08:00
weisd
e145586b65
refactor: reorganize RPC modules into unified structure
2025-06-19 17:06:54 +08:00
weisd
e8a59d7c07
move disk::utils to crates::utils
2025-06-11 15:55:40 +08:00
weisd
9384b831ec
ecstore update ec/disk/error
2025-06-06 01:13:51 +08:00
junxiang Mu
5cb040f863
fix zero size object bug
...
Signed-off-by: junxiang Mu <1948535941@qq.com >
2025-05-08 19:34:58 +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