houseme
2b82432f9e
fix(ecstore): send valid ping body in remote locker ( #3112 )
...
* fix(ecstore): send valid ping body in remote locker
Build ping requests with a flatbuffer payload so health checks remain compatible with the ping response parser after restart.
* fix(bench): use multi-host warp target during failover
Normalize comma-separated warp host lists in run_object_batch_bench and let four-node failover bench pass BENCH_WARP_HOSTS so rolling restart does not pin load to a single restarting node.
* feat(health): add compat health probes with busy/KMS checks
- Add /health/live liveness probe endpoint
- Add busy protection (429) for readiness probes, gated by RUSTFS_HEALTH_COMPAT_BUSY_CHECK_ENABLE
- Add KMS readiness check for /health/ready, gated by RUSTFS_HEALTH_COMPAT_KMS_READY_CHECK_ENABLE
- Add lock quorum status caching with TTL to reduce RPC pressure
- Consolidate health response building into build_health_response_parts
- Register /health/live in console router and readiness gate
- Remove MinIO references from newly added health code
* fix(health): decouple kms readiness from lock quorum
2026-05-29 08:02:50 +00:00
houseme
6264be437c
fix(storage): add scoped timeout policy and startup fs guardrail ( #3056 )
...
* fix(storage): add RUSTFS_NETWORK_MOUNT_MODE for CIFS/NFS backends
* style: fix cargo fmt formatting in disk_store.rs
* fix(storage): add RUSTFS_NETWORK_MOUNT_MODE for CIFS/NFS backends
Extend the TimeoutHealthAction introduced in #2996 to read_metadata,
list_dir, and disk_info operations when RUSTFS_NETWORK_MOUNT_MODE=true.
Also raises all drive operation timeouts to 60s (explicit per-operation
overrides still take precedence).
Closes #2790
* feat(startup): add unsupported filesystem policy guardrail
* chore(deps): refresh lockfile and dependency pins
* feat(ecstore): add scoped timeout health-action policy
* docs(config): document drive timeout health-action policy
* refactor(ecstore): cache timeout health policy per disk wrapper
* fix(storage): add RUSTFS_NETWORK_MOUNT_MODE for CIFS/NFS backends (#2838 )
* fix(storage): add RUSTFS_NETWORK_MOUNT_MODE for CIFS/NFS backends
* style: fix cargo fmt formatting in disk_store.rs
* fix(storage): add RUSTFS_NETWORK_MOUNT_MODE for CIFS/NFS backends
Extend the TimeoutHealthAction introduced in #2996 to read_metadata,
list_dir, and disk_info operations when RUSTFS_NETWORK_MOUNT_MODE=true.
Also raises all drive operation timeouts to 60s (explicit per-operation
overrides still take precedence).
Closes #2790
* fix(utils): map verified Linux filesystem magic values (#3051 )
* fix(utils): cover sha256 checksum validation (#3052 )
* fix(utils): cover sha256 checksum validation
* docs: clarify sha256 checksum validation
---------
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
* refactor(config): replace network mount mode with timeout profile preset
* fix(review): align fallback defaults and extend fs-type detection
* fix(review): cache timeout profile and restore probe timeout semantics
* refactor(ecstore): cache timeout health policy lookup
* perf(ecstore): cache active probe timeout per monitor task
---------
Co-authored-by: mistik <mistiklord4@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
2026-05-22 06:37:30 +00:00
weisd
69345fe059
fix(scanner): preserve background heal compatibility ( #3041 )
2026-05-22 14:38:35 +08:00
Henry Guo
69dcf9e6cb
fix(tooling): harden internode transport benchmark setup ( #3037 )
...
* refactor(config): centralize internode transport constants
* fix(bench): guard all ripgrep calls behind dry-run check
Move require_cmd rg and metrics collection inside the non-dry-run
path so that --dry-run works on hosts without rg installed.
* feat(tooling): cross-platform protoc setup for Linux and macOS
Make install-protoc.sh support Linux (x86_64, aarch64) alongside
macOS, and bump CI protoc from 29.3 to 33.1 to match the version
required by the gproto build script.
* fix(bench): record internode baseline error counts
* fix(skill): correct YAML frontmatter formatting for release-version-bump
* chore(ci): bump protoc version to 34.1
* fix(tooling): bump protoc 33.1 to 34.1 in install script, restore SKILL.md description
---------
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com >
2026-05-21 05:47:32 +00:00
houseme
dcbffb084f
chore(deps): refresh workspace deps and linux fs_type gating ( #3030 )
...
* chore(deps): refresh workspace deps and linux fs_type gating
- refresh workspace dependency pins and lockfile updates
- remove now-unused crate dependency entries in multiple Cargo.toml files
- enable profiling export defaults in config and scripts/run.sh
- gate os::fs_type module/function/tests to Linux to avoid non-Linux dead_code warnings
* fix(utils): simplify fs_type linux gating
- keep fs_type module-level linux cfg in os::mod
- remove redundant linux cfg on get_fs_type and test module
* chore(deps): bump s3s git revision
- update workspace s3s dependency to rev 507e1312b211c3ddc214b03875d6fabd15d22ed5
- refresh Cargo.lock source entry for s3s
* chore(dev): allow mysql_async git source and env overrides
- allow mysql_async git source in deny.toml allow-git list
- make scripts/run.sh core env vars overrideable via existing shell env
* fix(utils): import get_fs_type in fs_type tests
- add explicit super::get_fs_type import in fs_type test module
- fix Linux E0425 unresolved function errors in unit tests
* chore(dev): tune run script observability defaults
- make profiling export env overrideable in scripts/run.sh
- set RUSTFS_OBS_SAMPLE_RATIO default from 2.0 to 1.0
- update allow-git review window comments in deny.toml
* test(obs): stabilize profiling env alias tests
2026-05-20 15:03:07 +00:00
Henry Guo
e929814edc
feat(ecstore): add internode transport boundary and TCP baseline runner ( #3010 )
...
* docs: add internode data transport RFC
* feat: add internode operation metrics
* fix feedback
* fix(ci): fallback protoc token to github.token
* feat(ecstore): add internode transport boundary and baseline runner
* feat(internode): harden data transport baseline
* Revert "feat(internode): harden data transport baseline"
This reverts commit 5b8d6b8aa4 .
* fix(internode): address baseline review comments
* fix(ci): pin setup-protoc to stable release
* fix(ci): install protoc via apt on linux
* fix(ci): restore protoc install for macos and windows
---------
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-19 22:41:34 +00:00
houseme
bd1e57293f
fix: harden lifecycle transition compensation and regression coverage ( #2995 )
...
* fix(ecstore): honor transition worker configuration
* fix(ecstore): add transition queue backpressure metrics
* fix(ecstore): schedule transition compensation on enqueue pressure
* fix(ecstore): log transition compensation scheduling
* test(rustfs): add transition compensation fault-injection coverage
* test(rustfs): cover delete after transition compensation
* test(scanner): cover cleanup after transition compensation
* test(rustfs): extend compensation transition coverage
* test(scanner): cover backfill idempotency after compensation
* test(scanner): cover noncurrent expiry after compensation
* test(rustfs): cover versioned delete after compensation
* test(rustfs): cover delete marker lifecycle after compensation
* test(scanner): extend versioned lifecycle compensation coverage
* test(scanner): model versioned delete after compensation
* test(scanner): clarify modeled versioned delete helper
* refactor(ecstore): optimize transition enqueue hot path
* refactor(ecstore): centralize transition runtime constants
* style(ecstore): apply rustfmt for transition timeout helper
* fix(ilm): align queue-full metric semantics
* refactor(ecstore): unify immediate enqueue failure handling
* refactor(ecstore): reuse transition worker env constant
* ci(actions): update setup action inputs
2026-05-18 12:50:43 +00:00
安正超
6898e720dd
fix(security): harden proxy auth and default credentials ( #2981 )
...
* fix(security): harden proxy auth and default credentials
* fix(security): address proxy and credential feedback
2026-05-16 04:01:50 +00:00
houseme
6185d38911
fix(protocols): add hot reload for WebDAV FTPS and SFTP ( #2922 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-11 16:25:20 +00:00
escapecode
96b293bf8a
feat(sftp): add SFTPv3 protocol support ( #2875 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-10 03:48:42 +00:00
houseme
81ad48dac2
feat(targets): add AMQP support for notify and audit ( #2879 )
...
Co-authored-by: Hyesook Yun <74169420+suk13574@users.noreply.github.com >
2026-05-09 01:56:26 +00:00
houseme
5431b9273d
feat(targets): complete redis mysql postgres target wiring ( #2842 )
...
Signed-off-by: jaehanbyun <awbrg789@naver.com >
Signed-off-by: houseme <housemecn@gmail.com >
Signed-off-by: Gunther Xing <jiengup@gmail.com >
Signed-off-by: JaySon-Huang <tshent@qq.com >
Co-authored-by: jaehanbyun <awbrg789@naver.com >
Co-authored-by: Gunther Xing <jiengup@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: cxymds <Cxymds@qq.com >
Co-authored-by: JaySon <tshent@qq.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
2026-05-07 10:00:59 +00:00
cxymds
70be0804ee
fix: 2827 lifecycle days next midnight ( #2833 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-06 15:00:53 +00:00
Michael Graff
3898d524fe
security: same-origin console CORS, fail-closed helm creds, deny.toml, sample-config hardening ( #2769 )
...
Signed-off-by: Michael Graff <explorer@flame.org >
Signed-off-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: loverustfs <hello@rustfs.com >
2026-05-06 07:34:44 +00:00
houseme
3dd0692917
refactor: unify credential env constants and deploy env usage ( #2821 )
...
Co-authored-by: Henry Guo <marshawcoco@gmail.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
2026-05-06 04:30:29 +00:00
houseme
565cbdffed
fix(getobject): prevent large-download memory buffering ( #2809 )
2026-05-05 12:58:26 +00:00
安正超
eb23710d2e
fix(security): harden CORS and license handling ( #2774 )
2026-05-03 11:39:27 +00:00
houseme
c4d5c5c5ec
fix(obs): disable profiling export by default and fix Helm env name ( #2719 )
2026-04-28 11:57:15 +00:00
houseme
2953558f41
fix(lifecycle): prevent eager date-expiry deletion on config update ( #2708 )
2026-04-28 10:26:14 +00:00
houseme
50d03ef021
perf(memory): add reclaim signals and cache controls ( #2689 )
2026-04-26 16:42:35 +00:00
houseme
1e9c75a201
feat(ecstore): enforce local disk topology guardrails and expose device ids ( #2679 )
2026-04-25 06:02:02 +00:00
houseme
7215761784
feat(trusted-proxies): add switchable simple and legacy modes ( #2674 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-04-25 01:25:32 +00:00
houseme
92f812fc80
feat(rustfs): gate audit/notify by global env switches ( #2669 )
2026-04-24 09:14:19 +00:00
houseme
572dd1264e
fix(admin): harden health readiness and add health response controls ( #2662 )
2026-04-23 17:37:42 +00:00
houseme
47247789ad
feat(obs): support OTLP headers and timeout overrides for HTTP exporters ( #2661 )
2026-04-23 17:02:26 +00:00
houseme
368ef0f16c
refactor(targets): unify endpoint source/merge logic and bump rustfs-kafka-async to v1.2.0 ( #2654 )
...
Co-authored-by: Filipe Monteiro <a22407332@alunos.ulht.pt >
Co-authored-by: cxymds <Cxymds@qq.com >
Co-authored-by: weisd <im@weisd.in >
Co-authored-by: loverustfs <hello@rustfs.com >
2026-04-23 09:14:36 +00:00
houseme
960c13a34b
feat(storage): wire capacity/object perf tuning and add batch benchmark runners ( #2628 )
2026-04-21 07:20:57 +00:00
Andy Teijelo Pérez
989827e3b5
feat: add OTHER_AUDIENCES config ( #2605 )
...
Co-authored-by: GatewayJ <835269233@qq.com >
2026-04-21 03:48:13 +00:00
houseme
3796b684f0
feat(targets): add NATS and Pulsar target support ( #2618 )
2026-04-21 00:28:19 +00:00
houseme
9677320f23
fix(scanner): stabilize data usage cache persistence under slow metadata I/O ( #2594 )
2026-04-18 16:36:28 +00:00
houseme
6ce24f3b63
feat(lifecycle): improve ILM compatibility and scanner runtime config ( #2534 )
...
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: cxymds <Cxymds@qq.com >
2026-04-16 10:28:03 +00:00
houseme
28edfd6190
fix(storage): harden offline drive fail-fast paths ( #2564 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-04-16 09:21:45 +00:00
GatewayJ
16b9189e9b
feat(oidc): add roles_claim and jwt:roles policy support ( #2509 )
...
Co-authored-by: GatewayJ <8352692332qq.com>
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: loverustfs <hello@rustfs.com >
2026-04-15 09:30:24 +08:00
安正超
68d3dba9fc
fix: revert standalone #2351 artifacts (phase 5) ( #2535 )
2026-04-14 22:35:05 +08:00
安正超
458086dc80
fix(get): remove GET chunk fast path ( #2507 )
2026-04-12 23:12:23 +08:00
houseme
b8c45fc9e3
fix(get-object): harden GET fast path against mid-stream regressions ( #2472 )
2026-04-10 21:38:29 +08:00
houseme
79ffecbf14
refactor(storage): remove object cache plumbing ( #2422 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
2026-04-07 22:00:53 +08:00
安正超
c4b5b00d9c
Merge branch 'main' into feat/kms-vault-transit2
2026-04-07 19:16:28 +08:00
houseme
d6158c0481
feat(mqtt): migrate client and harden TLS config ( #2413 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: heihutu <heihutu@gmail.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: 安正超 <anzhengchao@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-07 15:28:29 +08:00
安正超
832909306e
Merge branch 'main' into feat/kms-vault-transit2
2026-04-07 08:36:09 +08:00
houseme
32bf8f5bf3
feat(storage): add direct chunk GET fast path ( #2351 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: cxymds <Cxymds@qq.com >
2026-04-07 08:33:46 +08:00
houseme
d2901fd78c
feat(admin): add audit target APIs and harden target source handling ( #2350 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-04-04 09:07:22 +08:00
houseme
372f004a8d
refactor(server): unify TLS loading, optimize HTTP transport, add hot reload ( #2388 )
2026-04-04 06:37:24 +08:00
reatang
30a757a9da
feat(kms): add vault transit engine
2026-04-03 00:46:00 +08:00
houseme
dd9e093dcc
perf(capacity): tune default capacity settings, sync docs, and fix refresh/metrics correctness ( #2336 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-03-30 05:33:56 +08:00
houseme
7172e151de
fix: address correctness, safety, and concurrency issues ( #2327 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-03-30 00:30:57 +08:00
houseme
fb2ced4d27
feat(obs): integrate dial9-tokio-telemetry for runtime tracing ( #2285 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-03-25 14:23:58 +08:00
houseme
19b8389dc4
fix(disk): Fix Usage Report Capacity Calculation ( #2274 )
...
Co-authored-by: cxymds <Cxymds@qq.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: heihutu <heihutu@gmail.com >
2026-03-24 23:47:30 +08:00
houseme
6cb094e30a
fix(object): Fix concurrent request hang issue in S3 range read workloads ( #2251 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
2026-03-23 09:55:08 +08:00
heihutu
3c28f0a0ba
feat(metrics): migrate system monitoring from rustfs-obs to rustfs-metrics ( #2242 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-03-20 18:52:33 +08:00