houseme d66525a22f refactor(deps): centralize crate versions in root Cargo.toml (#448)
* chore(ci): upgrade protoc from 30.2 to 31.1

- Update protoc version in GitHub Actions setup workflow
- Use arduino/setup-protoc@v3 to install the latest protoc version
- Ensure compatibility with current project requirements
- Improve proto file compilation performance and stability

This upgrade aligns our development environment with the latest protobuf standards.

* modify package version

* refactor(deps): centralize crate versions in root Cargo.toml

- Move all dependency versions to workspace.dependencies section
- Standardize AWS SDK and related crates versions
- Update tokio, bytes, and futures crates to latest stable versions
- Ensure consistent version use across all workspace members
- Implement workspace inheritance for common dependencies

This change simplifies dependency management and ensures version consistency across the project.

* fix

* modify
2025-06-07 21:52:59 +08:00
2025-06-06 15:30:27 +08:00
2025-06-05 14:26:42 +00:00
2025-03-14 23:26:54 +08:00
2024-07-01 19:33:20 +08:00
2025-05-27 13:56:19 +08:00

RustFS

English Documentation |中文文档

Prerequisites

Package Version Download Link
Rust 1.8.5+ rust-lang.org/tools/install
protoc 31.1+ protoc-31.1-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_ENDPOINT="http://localhost:4317"

# 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
Languages
Rust 98.1%
Shell 1.5%
Makefile 0.2%
Just 0.1%