Henry Guo
11be278c40
test(notify): cover prefix suffix event dispatch ( #2960 )
2026-05-14 05:38:38 +00:00
houseme
81754d80b3
refactor(targets): unify queue/connectivity handling and coverage ( #2953 )
...
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
Co-authored-by: marshawcoco <marshawcoco@gmail.com >
2026-05-14 04:31:23 +00:00
Henry Guo
c1bcee327c
fix(notify): keep live listen events active when disabled ( #2952 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-13 17:10:14 +00:00
安正超
28c9358482
test(notify): cover encoded key target union ( #2934 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-12 15:20:06 +00:00
Henry Guo
07a01a1123
fix(notify): match filters against decoded event keys ( #2921 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-11 15:01:37 +00:00
JaySon
bafff6d207
feat(targets): add check_mysql_server_available probe function ( #2884 )
...
Signed-off-by: JaySon-Huang <tshent@qq.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-10 11:53:45 +00:00
houseme
53ec1b95d8
keep sftp e2e tests buildable ( #2897 )
2026-05-10 11:52:15 +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
houseme
e19b0dd997
fix(notify): improve webhook target diagnostics for env setup ( #2810 )
2026-05-06 00:28:46 +00:00
houseme
b96ccfd110
build(deps): bump the dependencies group with 7 updates ( #2676 )
2026-04-25 02:15:14 +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
3ac1d2ab0b
fix(security): redact target debug logs and remove eval-based bench hook ( #2637 )
2026-04-21 21:21:01 +00:00
houseme
3796b684f0
feat(targets): add NATS and Pulsar target support ( #2618 )
2026-04-21 00:28:19 +00:00
houseme
1cbf156559
refactor(obs): migrate metrics runtime/schema and tighten migration guards ( #2584 )
2026-04-18 07:51:15 +00:00
Tunglies
579b124726
lint: clippy rules or_fun_call ( #2561 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-04-16 02:48:39 +00:00
Tunglies
49366ee200
chore(lint): clippy rules redundant_clone ( #2554 )
2026-04-15 13:54:07 +00:00
houseme
979626c370
refactor(utils): decouple config deps and move sys helpers ( #2520 )
...
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-04-13 21:05:03 +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
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
Andy Brown
c4efb46827
fix(notify): emit delete webhooks for prefix deletes and align replication headers ( #2383 )
...
Co-authored-by: 安正超 <anzhengchao@gmail.com >
2026-04-03 21:09:05 +08:00
houseme
16db18216d
fix: populate tagging notification principalId and object metadata ( #2342 )
2026-03-30 14:32:39 +08:00
weisd
28f57b228c
feat(s3): advance parity coverage ( #2278 )
2026-03-24 17:29:33 +08:00
weisd
05dc131a49
perf(storage): optimize internode RPC transfer path ( #2262 )
...
Co-authored-by: momoda693 <momoda693@gmail.com >
2026-03-23 17:09:49 +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
weisd
b9b7d86ae4
feat: improve legacy metadata and admin compatibility ( #2202 )
2026-03-18 21:05:09 +08:00
houseme
b5d881f399
fix(notify): Fix XML Filter parsing and add comprehensive tests ( #2191 )
2026-03-17 23:08:07 +08:00
simon-escapecode
f00d01ec2d
fix: resolve silent failure in MQTT bucket event notifications ( #2112 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-03-11 10:08:30 +08:00
安正超
bb4fbf5ae2
fix(notify): ignore disabled targets when sending events ( #2117 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-03-11 00:37:30 +08:00
houseme
60aa47bf61
feat(storage): integrate S3Operation into OperationHelper for unified metrics and audit ( #2103 )
2026-03-08 17:57:33 +08:00
houseme
d17d2083d4
feat(targets): enhance webhook TLS support with custom CA and skip-verify ( #1994 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: heihutu <heihutu@gmail.com >
2026-02-27 21:24:49 +08:00
heihutu
74759b6e99
fix: missing object.key in S3 event notifications for multipart uploads #1609 ( #1624 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-01-27 13:32:56 +08:00
houseme
27480f7625
Refactor Event Admin Handlers and Parallelize Target Status Probes ( #1501 )
2026-01-14 14:18:02 +08:00
Dominik Gašparić
8009ad5692
Fix event object structure according to AWS rules ( #1379 )
...
Signed-off-by: Dominik Gašparić <56818232+codedoga@users.noreply.github.com >
2026-01-05 01:51:14 +08:00
houseme
8d7cd4cb1b
chore: upgrade dependencies and migrate to aws-lc-rs ( #1333 )
2026-01-02 00:02:34 +08:00
houseme
08f1a31f3f
Fix notification event stream cleanup, add bounded send concurrency, and reduce overhead ( #1224 )
2025-12-22 00:57:05 +08:00
yxrxy
3bd96bcf10
fix: resolve event target deletion issue ( #1219 )
2025-12-21 12:43:48 +08:00
houseme
4abfc9f554
Fix/fix event 1216 ( #1191 )
...
Signed-off-by: loverustfs <hello@rustfs.com >
Co-authored-by: loverustfs <hello@rustfs.com >
2025-12-19 12:07:07 +08:00
mythrnr
94d5b1c1e4
fix: format of bucket event notifications ( #1138 )
2025-12-16 20:44:57 +08:00
houseme
1a4e95e940
chore: remove unused dependencies to optimize build ( #1117 )
2025-12-11 18:13:26 +08:00
yihong
834025d9e3
docs: fix some dead link ( #1053 )
...
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
2025-12-08 11:23:24 +08:00
houseme
51584986e1
feat(obs): unify metrics initialization and fix exporter move error ( #851 )
...
* feat(obs): unify metrics initialization and fix exporter move error
- Fix Rust E0382 (use after move) by removing duplicate MetricExporter consumption.
- Consolidate MeterProvider construction into single Recorder builder path.
- Remove redundant Recorder::builder(...).install_global() call.
- Ensure PeriodicReader setup is performed only once (HTTP + optional stdout).
- Set global meter provider and metrics recorder exactly once.
- Preserve existing behavior for stdout/file vs HTTP modes.
- Minor cleanup: consistent resource reuse and interval handling.
* update telemetry.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix
* fix
* fix
* fix: modify logger level from error to event
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-14 00:50:07 +08:00
houseme
98be7df0f5
feat(storage): refactor audit and notification with OperationHelper ( #825 )
...
* improve code for audit
* improve code ecfs.rs
* improve code
* improve code for ecfs.rs
* feat(storage): refactor audit and notification with OperationHelper
This commit introduces a significant refactoring of the audit logging and event notification mechanisms within `ecfs.rs`.
The core of this change is the new `OperationHelper` struct, which encapsulates and simplifies the logic for both concerns. It replaces the previous `AuditHelper` and manual event dispatching.
Key improvements include:
- **Unified Handling**: `OperationHelper` manages both audit and notification builders, providing a single, consistent entry point for S3 operations.
- **RAII for Automation**: By leveraging the `Drop` trait, the helper automatically dispatches logs and notifications when it goes out of scope. This simplifies S3 method implementations and ensures cleanup even on early returns.
- **Fluent API**: A builder-like pattern with methods such as `.object()`, `.version_id()`, and `.suppress_event()` makes the code more readable and expressive.
- **Context-Aware Logic**: The helper's `.complete()` method intelligently populates log details based on the operation's `S3Result` and only triggers notifications on success.
- **Modular Design**: All helper logic is now isolated in `rustfs/src/storage/helper.rs`, improving separation of concerns and making `ecfs.rs` cleaner.
This refactoring significantly enhances code clarity, reduces boilerplate, and improves the robustness of logging and notification handling across the storage layer.
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* improve code for audit and notify
* fix
* fix
* fix
2025-11-10 17:30:50 +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
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
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
Copilot
29b0935be7
RustFS rustfs-audit Complete Implementation with Enterprise Observability ( #557 )
...
* Initial plan
* Implement core audit system with multi-target fan-out and configuration management
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Changes before error encountered
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Complete audit system with comprehensive observability and test coverage
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* improve code
* fix
* improve code
* fix test
* fix test
* fix
* add `rustfs-audit` to `rustfs`
* upgrade crate version
* fmt
* fmt
* 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-24 08:23:46 +08:00
houseme
4e00110bfe
add bucket notification configuration ( #502 )
2025-09-10 00:56:27 +08:00
houseme
04bf4b0f98
feat: add S3 object legal hold and retention management APIs ( #476 )
...
* add bucket rule
* translation
* improve code for event notice add rule
2025-09-02 00:14:10 +08:00
houseme
8857f31b07
Comment out error log for missing subscribers ( #448 )
2025-08-22 21:15:46 +08:00