mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-28 00:58:59 +00:00
317cadaed861c117dd76c12c68bc25439d1a9b38
- Remove specific bucket metadata error variants (BucketPolicyNotFound, etc.) - Unify all configuration-not-found errors to use StorageError::ConfigNotFound - Simplify error handling in bucket metadata system by removing redundant error conversions - Clean up error matching patterns in metadata getter methods - Remove debug print statement from get_bucket_targets_config - Update error handling in S3 API layer to use unified ConfigNotFound error This change improves code maintainability by reducing error type complexity while preserving the same error semantics for API consumers.
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:
Description
2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
ai-nativeai-storageamazon-s3bigdatacloud-nativefilesystemminiomulti-cloudobject-storageobjectstoragerusts3
Readme
Apache-2.0
113 MiB
Languages
Rust
94.5%
Shell
4.3%
Python
1%