Commit Graph

19 Commits

Author SHA1 Message Date
houseme ea13098beb fix: modify webhook port 2025-04-22 23:06:43 +08:00
houseme 52a1f9b8a7 improve code for global.rs 2025-04-22 22:59:31 +08:00
houseme 6d1a4ab824 improve for logger 2025-04-22 22:41:45 +08:00
houseme c8ab89292e feat: improve webhook server and run script integration
- Enhance webhook example with proper shutdown handling using tokio::select!
- Update run.sh to automatically start webhook server alongside main service
- Add event notification configuration to run.sh using environment variables
- Set proper port bindings to ensure webhook server starts on port 3000
- Improve console output for better debugging experience
- Fix race condition during service startup and shutdown

This change ensures proper integration between the webhook server and
the main rustfs service, providing a seamless development experience
with automatic service discovery and clean termination.
2025-04-22 21:40:20 +08:00
houseme 4f347a92c1 feat: integrate event-notifier system with rustfs
- Rename package from rustfs-event-notifier to event-notifier for consistency
- Add shutdown hooks for event notification system in main process
- Handle graceful termination of notification services on server shutdown
- Implement initialization and configuration loading for event notification
- Fix environment variable configuration to properly parse adapter arrays
- Update example code to demonstrate proper configuration usage

This change ensures proper integration between rustfs and the event
notification system, with clean startup and shutdown sequences to prevent
resource leaks during application lifecycle.
2025-04-22 20:49:39 +08:00
houseme e4453adf82 feat(event-notifier): improve environment variable handling
- Fix deserialization error when parsing config from environment variables
- Add proper array format support for adapters configuration
- Update environment variable examples with correct format
- Improve documentation for configuration loading
- Implement helper functions for environment variable validation

This change fixes the "invalid type: map, expected a sequence" error
by ensuring proper formatting of array-type fields in environment variables.
2025-04-22 20:31:38 +08:00
houseme 15b6a426fb Merge branch 'main' of github.com:rustfs/s3-rustfs into feature/bucket-event-notification
# Conflicts:
#	Cargo.toml
2025-04-22 09:16:48 +08:00
houseme 0ed92b3b6f improve code 2025-04-22 09:14:09 +08:00
weisd 18b50c1752 otel debug filter tower 2025-04-22 09:07:43 +08:00
houseme 6c70c03985 improve code for global 2025-04-21 21:39:57 +08:00
houseme 5af648230a improve code 2025-04-21 19:01:31 +08:00
houseme 3b6397012b feat(event-notifier): improve notification system initialization safety
- Add READY atomic flag to track full initialization status
- Implement initialize_safe and start_safe methods with mutex protection
- Add wait_until_ready function with configurable timeout
- Create initialize_and_start_with_ready_check helper method
- Replace sleep-based waiting with proper readiness checks
- Add safety checks before sending events
- Replace chrono with std::time for time handling
- Update error handling to provide clear initialization status

This change reduces race conditions in multi-threaded environments
and ensures events are only processed when the system is fully ready.
2025-04-21 13:28:01 +08:00
houseme bfc165abe0 feat: implement event notification system
- Add core event notification interfaces
- Support multiple notification backends:
  - Webhook (default)
  - Kafka
  - MQTT
  - HTTP Producer
- Implement configurable event filtering
- Add async event dispatching with backpressure handling
- Provide serialization/deserialization for event payloads

This module enables system events to be published to various endpoints
with consistent delivery guarantees and failure handling.
2025-04-21 00:17:27 +08:00
houseme 21a829e7cf init event notifer 2025-04-19 02:20:50 +08:00
houseme c3a17caa80 Update crates/obs/src/sink.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-11 17:45:59 +08:00
houseme 24d6c555f7 Remove unused crate 2025-04-11 17:38:44 +08:00
houseme ab8b19eb5d improve signal watch 2025-04-11 16:48:07 +08:00
houseme fdd7b14825 create get default log path func 2025-04-09 21:52:30 +08:00
houseme a07ca8ae81 improve code for obs 2025-04-09 15:12:31 +08:00