mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-17 01:30:33 +00:00
* 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
3.0 KiB
3.0 KiB
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
- Download the latest console UI:
wget https://dl.rustfs.com/artifacts/console/rustfs-console-latest.zip - Create the static directory:
mkdir -p ./rustfs/static - 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 Otel and OpenObserve
OpenTelemetry Collector 和 Jaeger、Grafana、Prometheus、Loki
-
Navigate to the observability directory:
cd .docker/observability -
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
Configure observability
OpenTelemetry Collector address(endpoint): http://localhost:4317
OpenObserve and OpenTelemetry Collector
- Navigate to the OpenObserve and OpenTelemetry directory:
cd .docker/openobserve-otel - Start the OpenObserve and OpenTelemetry Collector services:
docker compose -f docker-compose.yml up -d - Access the OpenObserve UI:
OpenObserve UI:
http://localhost:5080- Default credentials:
- Username:
root@rustfs.com - Password:
rustfs123
- Username:
- Exposed ports:
- 5080: HTTP API and UI
- 5081: OTLP gRPC
- Default credentials: