houseme c6de1ae994 feat: rename crate from rustfs-event-notifier to rustfs-event
This change simplifies the crate name to better reflect its core functionality
as the event handling system for RustFS. The renamed package maintains all
existing functionality while improving naming consistency across the project.

- Updated all imports and references to use the new crate name
- Maintained API compatibility with existing implementations
- Updated tests to reflect the name change
2025-05-19 17:23:17 +08:00
2025-05-12 01:17:31 +08:00
2025-04-08 22:32:24 +08:00
2025-05-15 23:34:36 +08:00
2025-05-12 01:17:31 +08:00
2025-05-12 01:17:31 +08:00
2025-04-09 02:41:06 +00:00
2025-05-19 16:21:22 +08:00
2025-05-19 16:32:56 +08:00
2025-04-24 08:21:09 +00:00
2025-04-11 20:53:51 +08:00
2025-05-06 11:10:30 +08:00
2025-03-14 23:26:54 +08:00
2025-03-11 16:12:34 +08:00
2025-05-13 09:17:52 +08:00
2024-07-01 19:33:20 +08:00
2025-03-20 01:16:55 +08:00

RustFS

English Documentation |中文文档

Prerequisites

Package Version Download Link
Rust 1.8.5+ rust-lang.org/tools/install
protoc 30.2+ protoc-30.2-linux-x86_64.zip
flatc 24.0+ Linux.flatc.binary.g++-13.zip

Building RustFS

Generate Protobuf Code

cargo run --bin gproto

Using Docker for Prerequisites

- uses: arduino/setup-protoc@v3
  with:
    version: "30.2"

- uses: Nugine/setup-flatc@v1
  with:
    version: "25.2.10"

Adding Console Web UI

  1. Download the latest console UI:
    wget https://dl.rustfs.com/artifacts/console/rustfs-console-latest.zip
    
  2. Create the static directory:
    mkdir -p ./rustfs/static
    
  3. Extract and compile RustFS:
    unzip rustfs-console-latest.zip -d ./rustfs/static
    cargo build
    

Running RustFS

Configuration

Set the required environment variables:

# Basic config
export RUSTFS_VOLUMES="./target/volume/test"
export RUSTFS_ADDRESS="0.0.0.0:9000"
export RUSTFS_CONSOLE_ENABLE=true
export RUSTFS_CONSOLE_ADDRESS="0.0.0.0:9001"

# Observability config
export RUSTFS_OBS_CONFIG="./deploy/config/obs.toml"

# Event message configuration
#export RUSTFS_EVENT_CONFIG="./deploy/config/event.toml"

Start the service

./rustfs /data/rustfs

Observability Stack

Deployment

  1. Navigate to the observability directory:

    cd .docker/observability
    
  2. Start the observability stack:

    docker compose -f docker-compose.yml  up -d
    

Access Monitoring Dashboards

  • Grafana: http://localhost:3000 (credentials: admin/admin)
  • Jaeger: http://localhost:16686
  • Prometheus: http://localhost:9090

Configuring Observability

  1. Copy the example configuration:

    cd deploy/config
    cp obs.example.toml obs.toml
    
  2. Edit obs.toml with the following parameters:

Parameter Description Example
endpoint OpenTelemetry Collector address http://localhost:4317
service_name Service name rustfs
service_version Service version 1.0.0
environment Runtime environment production
meter_interval Metrics export interval (seconds) 30
sample_ratio Sampling ratio 1.0
use_stdout Output to console true/false
logger_level Log level info
local_logging_enable stdout true/false
Languages
Rust 98.1%
Shell 1.5%
Makefile 0.2%
Just 0.1%