Commit Graph

469 Commits

Author SHA1 Message Date
weisd 0477e8d3ed Update rustfs/src/storage/ecfs.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-13 09:28:22 +08:00
houseme cdd285dec8 add metric 2025-05-13 09:17:52 +08:00
weisd c69a2f83a6 add legalhold api 2025-05-12 15:45:22 +08:00
houseme 571cedf4ce feat(obs): implement global OpenTelemetry guard management 2025-05-12 13:32:18 +08:00
houseme dd7da015e3 Feature/rustfs config (#396)
* init rustfs config

* improve code for rustfs-config crate

* add

* improve code for comment

* fix: modify rustfs-config crate name

* add default fn

* improve error logger

* fix: modify docker config yaml

* improve code for config

* feat: restrict kafka feature to Linux only

- Add target-specific feature configuration in Cargo.toml for obs and event-notifier crates
- Implement conditional compilation for kafka feature only on Linux systems
- Add appropriate error handling for non-Linux platforms
- Ensure backward compatibility with existing code

* refactor(ci): optimize build workflow for better efficiency

- Integrate GUI build steps into main build-rustfs job
- Add conditional GUI build execution based on tag releases
- Simplify workflow by removing redundant build-rustfs-gui job
- Copy binary directly to embedded-rustfs directory without downloading artifacts
- Update merge job dependency to only rely on build-rustfs
- Improve cross-platform compatibility for Windows binary naming (.exe)
- Streamline artifact uploading and OSS publishing process
- Maintain consistent conditional logic for release operations

* refactor(ci): optimize build workflow for better efficiency

- Integrate GUI build steps into main build-rustfs job
- Add conditional GUI build execution based on tag releases
- Simplify workflow by removing redundant build-rustfs-gui job
- Copy binary directly to embedded-rustfs directory without downloading artifacts
- Update merge job dependency to only rely on build-rustfs
- Improve cross-platform compatibility for Windows binary naming (.exe)
- Streamline artifact uploading and OSS publishing process
- Maintain consistent conditional logic for release operations

* fix(ci): add repo-token to setup-protoc action for authentication

- Add GITHUB_TOKEN parameter to arduino/setup-protoc@v3 action
- Ensure proper authentication for Protoc installation in CI workflow
- Maintain consistent setup across different CI environments

* modify config

* improve readme.md

* remove env config relation

* add allow(dead_code)
2025-05-12 01:17:31 +08:00
weisd 76fdefeca4 feat: auto-extract support 2025-05-08 17:42:20 +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
junxiang Mu 0ac1095c70 support spec char as delimiter
Signed-off-by: junxiang Mu <1948535941@qq.com>
2025-05-06 11:10:30 +08:00
houseme 01d5383ce3 Feature/bucket event notification (#365)
* add tracing instrument

* fix rebalance/decom

* modify Telemetry filter order

* feat: improve address binding and port handling mechanism (#366)

* feat: improve address binding and port handling mechanism

1. Add support for ":port" format to enable dual-stack binding (IPv4/IPv6)
2. Implement automatic port allocation when port 0 is specified
3. Optimize server startup process with unified address resolution
4. Enhance error handling and logging for address resolution
5. Improve graceful shutdown with signal listening
6. Clean up commented code in console.rs

Files:
- ecstore/src/utils/net.rs
- rustfs/src/console.rs
- rustfs/src/main.rs

Branch: feature/server-and-console-port

* improve code for console

* improve code

* improve code for console and net.rs

* Update rustfs/src/main.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update rustfs/src/utils/mod.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* upgrade config file

* modify

* fix readme

Signed-off-by: junxiang Mu <1948535941@qq.com>

* improve readme.md

* improve code for readme.md
add chinese readme.md

* Implement Storage Service Event Notification System

Added event notification capability to the storage module, enabling the storage service to publish object operation events. Key changes include:

1. Created `event_notifier` module providing core functionality:
   - `create_metadata()` - Creates event metadata objects with default configuration ID
   - `send_event()` - Asynchronously sends event notifications with error handling

2. Integrated the `rustfs_event_notifier` library:
   - Supports object creation, deletion, and access events
   - Provides event metadata building and management
   - Includes proper error propagation

These changes enable the system to trigger notifications when storage operations occur, facilitating auditing, monitoring, and integration with other systems.

* fix

---------

Signed-off-by: junxiang Mu <1948535941@qq.com>
Co-authored-by: weisd <im@weisd.in>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: junxiang Mu <1948535941@qq.com>
2025-04-30 00:31:55 +08:00
guojidan 08f7de2e33 Merge pull request #371 from rustfs/pref
tmp5
2025-04-29 19:09:30 +08:00
junxiang Mu 05fad0aca0 tmp5
Signed-off-by: junxiang Mu <1948535941@qq.com>
2025-04-29 11:08:48 +00:00
houseme b411a38813 upgrade docker image version and fix docker comman 2025-04-29 19:04:53 +08:00
guojidan a45411edbe Merge pull request #370 from rustfs/pref
Pref
2025-04-29 18:56:24 +08:00
junxiang Mu 8f917e4a19 tmp4
Signed-off-by: junxiang Mu <1948535941@qq.com>
2025-04-29 10:55:02 +00:00
junxiang Mu 7e1135df8f tmp3
Signed-off-by: junxiang Mu <1948535941@qq.com>
2025-04-29 10:53:03 +00:00
houseme e5cd061e18 improve code for request and telemetry 2025-04-29 11:55:59 +08:00
houseme e9d6e2ca95 feat: improve address binding and port handling mechanism (#366)
* feat: improve address binding and port handling mechanism

1. Add support for ":port" format to enable dual-stack binding (IPv4/IPv6)
2. Implement automatic port allocation when port 0 is specified
3. Optimize server startup process with unified address resolution
4. Enhance error handling and logging for address resolution
5. Improve graceful shutdown with signal listening
6. Clean up commented code in console.rs

Files:
- ecstore/src/utils/net.rs
- rustfs/src/console.rs
- rustfs/src/main.rs

Branch: feature/server-and-console-port

* improve code for console

* improve code

* improve code for console and net.rs

* Update rustfs/src/main.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update rustfs/src/utils/mod.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-27 23:44:26 +08:00
weisd 87bec2e6a6 fix rebalance/decom 2025-04-26 22:55:37 +08:00
houseme 05f1412323 improve code for opentelemetry 2025-04-26 17:26:54 +08:00
houseme 7926ac015a improve code for tracing log 2025-04-24 19:14:46 +08:00
houseme 86353d98d5 feat: add TraceLayer for HTTP service and improve metrics (#361)
* improve code for opentelemetry and add system metrics

* feat: add TraceLayer for HTTP service and improve metrics

- Add TraceLayer to HTTP server for request tracing
- Implement system metrics for process monitoring
- Optimize init_telemetry method for better resource management
- Add graceful shutdown handling for telemetry components
- Fix GracefulShutdown ownership issues with Arc wrapper

* improve code for init_process_observer

* remove tomlfmt.toml

* Translation comment

* improve code for console CompressionLayer params
2025-04-24 19:04:57 +08:00
weisd 56575d58f4 fix:#352, #353
fix: verify_file bug
2025-04-24 15:32:12 +08:00
guojidan e58eaacb20 Merge pull request #349 from rustfs/fix-data-scan
Fix data scan
2025-04-23 17:30:05 +08:00
junxiang Mu 45a9b6313e fmt
Signed-off-by: junxiang Mu <1948535941@qq.com>
2025-04-23 09:29:37 +00:00
junxiang Mu 380a451bc1 fix capacity
Signed-off-by: junxiang Mu <1948535941@qq.com>
2025-04-23 09:26:22 +00: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 770f28d205 improve Cargo toml 2025-04-21 15:27:58 +08:00
junxiang Mu 70e94fd018 fix sql
Signed-off-by: junxiang Mu <1948535941@qq.com>
2025-04-21 13:28:32 +08:00
junxiang Mu b1d8e60802 fix sql
Signed-off-by: junxiang Mu <1948535941@qq.com>
2025-04-21 01:43:13 +00: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
weisd cf70e12e14 add tracing 2025-04-18 16:21:14 +08:00
weisd 9dfb8f8dcf Merge branch 'main' into dada/decom 2025-04-18 16:02:05 +08:00
weisd f624ec5ba6 feat:decom,rebalance 2025-04-18 16:00:21 +08:00
houseme 779a2d0a1a fix console http server 2025-04-16 17:01:25 +08:00
Nugine 69598b48e3 feat(rustfs/main): use jemalloc 2025-04-16 11:59:08 +08:00
houseme fffa1ec671 Feature/status Support IPV4 and IPV6 dual stack and 308 Permanent Redirect (#329)
* test 308 Permanent Redirect

* improve code and Support IPV4 and IPV6 dual stack

* remove code
2025-04-15 23:29:12 +08:00
Nugine 04874f5986 feat(rustfs/main): set TCP_NODELAY 2025-04-15 19:36:34 +08:00
weisd 38b7bbbc49 merge main 2025-04-14 22:38:58 +08:00
weisd c40099a636 fix config_handler 2025-04-13 23:52:52 +08:00
loverustfs 3940ae2d69 fix tls configs error 2025-04-13 19:53:29 +08:00
houseme c651bea903 Fix/fix domain server (#319)
* fix: server_domain and improve code for tls

* add log

* add tracing

* test

* improve config and tls

* Update rustfs/src/console.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-13 12:55:56 +08:00
houseme 37109fc618 upgrade crate version 2025-04-11 20:53:51 +08:00
houseme 33a0b9669c fix systemd notice 2025-04-11 20:02:51 +08:00
houseme 24d6c555f7 Remove unused crate 2025-04-11 17:38:44 +08:00
houseme 42c8890d4a Merge branch 'main' of github.com:rustfs/s3-rustfs into feature/Systemd.service 2025-04-11 16:48:46 +08:00
houseme ab8b19eb5d improve signal watch 2025-04-11 16:48:07 +08:00
Nugine 1b24fbdb00 fix: upgrade s3s 2025-04-11 16:01:46 +08:00
weisd 9c6580c24b Merge pull request #310 from rustfs/dada/admin-policy
add admin policy check for user operation
2025-04-11 11:39:30 +08:00
weisd f97c262a1b fix:#309 add head_object options 2025-04-11 11:33:44 +08:00