You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/concepts/architecture.md
+14-17Lines changed: 14 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,39 +5,36 @@ description: "Introduction to RustFS Architecture"
5
5
6
6
# RustFS Architecture
7
7
8
-
RustFS is an object storage system, similar to the well-known AWS S3. As a MinIO alternative, RustFS references MinIO's concise, lightweight, scalable, and elegant architecture.
8
+
RustFS is a high-performance object storage system compatible with the AWS S3 API. It features a concise, lightweight, scalable, and decentralized architecture.
9
9
10
-
Objects can be documents, videos, PDF files, etc. To store objects, MinIO provides a scalable, flexible, and efficient solution for storing, accessing, and managing data. Its compatibility with AWS S3 API enables seamless integration with AWS S3-based applications.
10
+
Objects can be documents, videos, PDF files, or any other unstructured data. RustFS provides a scalable, flexible, and efficient solution for storing, accessing, and managing this data. Its compatibility with the AWS S3 API enables seamless integration with existing S3-based applications.
11
11
12
-
The architecture diagram is as follows:
12
+
The following diagram illustrates the architecture:
13
13
14
14

15
15
16
-
This is RustFS's basic architecture. A distributed grid is a computer architecture that uses multiple nodes to execute a single task. Nodes are connected to each other through a network, enabling them to communicate with each other.
16
+
This diagram represents the basic architecture of RustFS. A distributed grid uses multiple nodes to execute a single task, connected via a networkto enable communication.
17
17
18
18
## Consistency Design
19
19
20
-
In both distributed and single-machine modes, all read and write operations strictly follow the read-after-write consistency model.
20
+
In both distributed and single-machine modes, all read and write operations strictly follow the **read-after-write** consistency model.
21
21
22
-
## Several Important Concepts in RustFS
22
+
## Key Concepts
23
23
24
24
**Object**: The fundamental unit of storage in RustFS, representing files, byte streams, or any unstructured data.
25
25
26
-
**Bucket**: A logical container for storing Objects. Data is isolated between Buckets. For clients, it functions similarly to a top-level directory.
26
+
**Bucket**: A logical container for storing objects. Data is isolated between buckets. For clients, it functions similarly to a top-level directory.
27
27
28
-
**Drive**: The disk that stores data, passed as a parameter when RustFS starts. All object data in RustFS will be stored in Drives.
28
+
**Drive**: The physical disk that stores data, passed as a parameter when RustFS starts. All object data in RustFS is stored on these drives.
29
29
30
-
**Set**: A collection of a group of Drives. Distributed deployment automatically divides one or more Sets based on cluster scale. Drives in each Set are distributed in different locations. An object is stored on one Set. (Some places also call the combination of Sets **Strips** - stripes).
30
+
**Set**: A group of drives. Distributed deployment automatically divides the cluster into one or more sets based on scale. Drives in each set are distributed across different locations. An object is stored within a single set. (Sometimes referred to as **Stripes**).
31
31
32
-
Therefore, before designing the architecture and deploying devices, note that:
32
+
Consider the following when designing the architecture and deploying devices:
33
33
34
-
1. One object is stored on one Set;
35
-
36
-
2. One cluster is divided into multiple Sets;
37
-
38
-
3. The number of Drives contained in one Set is fixed, defaulting to automatic calculation by the system based on cluster scale;
39
-
40
-
4. Drives in one Set should be distributed across different nodes as much as possible;
34
+
- One object is stored on one set.
35
+
- One cluster is divided into multiple sets.
36
+
- The number of drives in a set is fixed, defaulting to automatic calculation by the system based on cluster scale.
37
+
- Drives in a set should be distributed across different nodes as much as possible.
Copy file name to clipboardExpand all lines: docs/concepts/introduction.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: "What is RustFS?"
3
-
description: "RustFS is an object storage solution - an open-source distributed object storage released under the Apache2 license."
3
+
description: "RustFS is an open-source, distributed object storage solution released under the Apache 2.0 license."
4
4
---
5
5
6
6
# What is RustFS?
@@ -13,14 +13,14 @@ RustFS is transitioning from commercial roots to a fully open-source model, aimi
13
13
14
14
## Operating System and CPU Support
15
15
16
-
You can run RustFS on almost any CPU and operating system, whether it's Linux, Unix, Windows, MacOS, FreeBSD, Docker, or even edge gateways.
17
-
CPU architecture support: X86, ARM, and various other CPU architectures.
16
+
RustFS runs on almost any CPU and operating system, including Linux, Unix, Windows, macOS, FreeBSD, and Docker, as well as edge gateways.
17
+
Supported CPU architectures: x86, ARM, and others.
18
18
19
19
## RustFS Features
20
20
21
21
-**S3 Compatible**: Fully compatible with the S3 protocol, ensuring seamless integration with big data ecosystems, data lakes, backup solutions, and media processing workflows.
22
22
-**Distributed Architecture**: Designed to scale horizontally to meet diverse storage requirements across various scales.
23
-
-**Commercial-Friendly**: Released under the Apache v2.0 license, making it safe and flexible for commercial integration.
23
+
-**Enterprise-Ready**: Released under the Apache v2.0 license, making it safe and flexible for commercial integration.
24
24
-**High Performance**: Built with Rust, offering performance comparable to C/C++ but with modern safety guarantees.
25
25
-**Secure by Design**: Leverages Rust's memory safety guarantees to significantly reduce common security vulnerabilities.
26
26
-**Cross-Platform**: Runs natively on Windows, macOS, and Linux.
Copy file name to clipboardExpand all lines: docs/developer/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
title: RustFS Developer Guide
3
-
description: Introduction to using STS/MCP/MinIO Client/SDK/API in RustFS, helping developers use RustFS more efficiently.
3
+
description: Guide to using STS, MCP, MinIO Client, SDKs, and APIs with RustFS.
4
4
---
5
5
6
-
This guide provides comprehensive instructions for integrating and interacting with RustFS using STS, MCP (Model Context Protocol), MinIO Client (`mc`), SDKs, and APIs. It is designed to enable developers to build efficient and scalable applications on top of RustFS. This document covers the following topics:
6
+
This guide provides instructions for integrating and interacting with RustFS using STS, MCP (Model Context Protocol), MinIO Client (`mc`), SDKs, and APIs. It is designed to enable developers to build efficient and scalable applications on top of RustFS. This document covers the following topics:
Copy file name to clipboardExpand all lines: docs/developer/mc.md
+15-15Lines changed: 15 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,21 +1,21 @@
1
1
---
2
-
title: "Managing RustFS Objects with MinIO Client"
3
-
description: "Managing RustFS objects with MinIO Client"
2
+
title: "Manage RustFS Objects with MinIO Client"
3
+
description: "Manage RustFS objects using the MinIO Client."
4
4
---
5
5
6
6
# MinIO Client (`mc`)
7
7
8
-
MinIO Client (`mc`) is an official command-line tool provided by MinIO for managing MinIO object storage services. `mc` can interact with MinIO, Amazon S3, and other S3-compatible object storage services, providing a simple and efficient way to manage data in object storage services. Since MinIO is S3-compatible, `mc` can also be used to manage RustFS objects.
8
+
The MinIO Client (`mc`) is a command-line tool for managing object storage services. It supports MinIO, Amazon S3, and other S3-compatible services. As RustFS is S3-compatible, you can use `mc` to manage RustFS objects.
9
9
10
10
Prerequisites:
11
11
12
-
- An available RustFS instance. Refer to the [Installation Guide](../installation/index.md) for installation.
13
-
-`mc` tool is installed.
12
+
- An available RustFS instance. Refer to the [Installation Guide](../installation/index.md).
13
+
-The `mc` tool is installed.
14
14
- Available [access keys](../administration/iam/access-token.md).
15
15
16
-
## Using `mc`to Operate RustFS
16
+
## Using `mc`with RustFS
17
17
18
-
First, you need to use the `mc alias` command to configure an alias for RustFS:
18
+
First, configure an alias for RustFS using the `mc alias` command:
19
19
20
20
```bash
21
21
mc aliasset rustfs http://12.34.56.78:9000 ACCESS_KEY SECRET_KEY
@@ -27,11 +27,11 @@ Output:
27
27
Added `rustfs` successfully.
28
28
```
29
29
30
-
Next, you can use `mc`to operate on the alias `rustfs` to create/delete buckets, upload/download files, etc.
30
+
You can now use `mc`with the `rustfs` alias to create/delete buckets, upload/download files, etc.
31
31
32
32
### List Buckets
33
33
34
-
Use `mc ls` to list all buckets under the current RustFS instance:
34
+
List all buckets:
35
35
36
36
```bash
37
37
mc ls rustfs
@@ -47,7 +47,7 @@ Output:
47
47
48
48
### Create Bucket
49
49
50
-
Use `mc mb` command to create a bucket:
50
+
Create a bucket:
51
51
52
52
```bash
53
53
mc mb rustfs/bucket-creation-by-mc
@@ -61,7 +61,7 @@ Bucket created successfully `rustfs/bucket-creation-by-mc`.
**RustFS MCP Server** is a high-performance [Model Context Protocol (MCP)](https://www.anthropic.com/news/model-context-protocol) server that provides AI/LLM tools with seamless access to S3-compatible object storage operations. Built with Rust for maximum performance and security, it enables AI assistants like Claude Desktop to interact with cloud storage through standardized protocols.
8
+
**RustFS MCP Server** is a high-performance [Model Context Protocol (MCP)](https://www.anthropic.com/news/model-context-protocol) server that provides AI/LLM tools with seamless access to S3-compatible object storage operations. Built with Rust for performance and security, it enables AI assistants like Claude Desktop to interact with cloud storage through standardized protocols.
9
9
10
10
### What is MCP?
11
11
@@ -15,16 +15,16 @@ The Model Context Protocol is an open standard that enables AI applications to e
15
15
16
16
### Supported S3 Operations
17
17
18
-
-**List Buckets**: List all accessible S3 buckets
19
-
-**List Objects**: Browse bucket contents with optional prefix filtering
20
-
-**Upload Files**: Upload local files with automatic MIME type detection and cache control
21
-
-**Get Objects**: Retrieve objects from S3 storage, supporting read or download modes
18
+
-**List Buckets**: Lists all accessible S3 buckets.
19
+
-**List Objects**: Browses bucket contents with optional prefix filtering.
20
+
-**Upload Files**: Uploads local files with automatic MIME type detection and cache control.
21
+
-**Get Objects**: Retrieves objects from S3 storage, supporting read or download modes.
22
22
23
23
## 🔧 Installation
24
24
25
25
### Prerequisites
26
26
27
-
- Rust 1.88+ (for building from source)
27
+
- Rust 1.75+ (for building from source)
28
28
- Configured AWS credentials (via environment variables, AWS CLI, or IAM roles)
Copy file name to clipboardExpand all lines: docs/developer/sdk/go.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,22 @@
1
1
---
2
-
title: "RustFS Golang SDK Usage Guide"
2
+
title: "Golang SDK Guide"
3
3
description: "Use the Golang SDK to operate on RustFS instances, including creating and deleting buckets and objects."
4
4
---
5
5
6
6
# Golang SDK
7
7
8
-
Since RustFS is a fully S3-compatible object storage system, you can build a Golang SDK suitable for RustFS by wrapping the S3 Golang SDK. Through the SDK, you can operate on RustFS, including creating and deleting buckets/objects, uploading and downloading files, etc.
8
+
RustFS is fully S3-compatible. You can use the standard AWS SDK for Go to interact with RustFS. Through the SDK, you can operate on RustFS, including creating and deleting buckets/objects, uploading and downloading files, etc.
9
9
10
10
## Prerequisites
11
11
12
-
- A working RustFS instance (refer to [Installation Guide](../../installation/index.md) for installation).
13
-
- Access keys (refer to [Access Key Management](../../administration/iam/access-token.md) for creation).
12
+
- A working RustFS instance (refer to [Installation Guide](../../installation/index.md)).
13
+
- Access keys (refer to [Access Key Management](../../administration/iam/access-token.md)).
14
14
15
-
## RustFS Golang SDK Construction
15
+
## Initializing the Client
16
16
17
-
Use `RUSTFS_ACCESS_KEY_ID`, `RUSTFS_SECRET_ACCESS_KEY`, `RUSTFS_ENDPOINT_URL`, `RUSTFS_REGION` to construct an `aws.Config`, then use `s3.NewFromConfig` from the Golang S3 SDK to build a RustFS Client:
17
+
Configure `aws.Config` using environment variables and initialize the client:
description: "Which S3 SDKs can be used with RustFS? This article provides a detailed explanation."
3
+
description: "Overview of supported S3 SDKs for RustFS."
4
4
---
5
5
6
6
# SDK Overview
7
7
8
-
RustFS is a distributed object storage software that is 100% compatible with the S3 protocol. Users can:
8
+
RustFS is a distributed object storage system fully compatible with the S3 protocol. Users can:
9
9
10
-
1. Manage RustFS through the Console management interface;
11
-
2. Manage RustFS through S3 clients;
12
-
3. Implement object storage operations and management on the business side through SDKs.
10
+
- Manage RustFS through the Console management interface.
11
+
- Manage RustFS through S3 clients.
12
+
- Implement object storage operations and management on the business side through SDKs.
13
13
14
14
Currently, the SDKs provided by RustFS include:
15
15
@@ -20,27 +20,26 @@ Currently, the SDKs provided by RustFS include:
20
20
-[TypeScript SDK](./typescript.md)
21
21
-[Golang SDK](./go.md)
22
22
23
-
## Terminology Explanation Before Reading
23
+
## Terminology
24
24
25
-
S3 is the name of the first object storage product opened and launched by Amazon. It opened all its protocols and specifications. Later, almost all object storage systems followed the S3 protocols and specifications. Sometimes people call S3 object storage, and sometimes they simply call S3 the object storage protocol.
25
+
Amazon S3 (Simple Storage Service) was the first widely adopted object storage service. Its API has become the de facto standard for object storage. In this documentation, "S3" refers to the protocol.
26
26
27
27
## 1. SDK Recommendations
28
28
29
-
Since there are already too many SDKs on the market that have been maintained for many years, such as AWS S3 SDK which has been debugged and optimized for many years. Its performance and errors are almost zero. Therefore, we recommend that you directly use the standard AWS S3 SDK to directly control and communicate with RustFS.
29
+
We recommend using the official AWS S3 SDKs. These SDKs are mature, well-maintained, and highly optimized.
30
30
31
31
If you have a familiar and trusted SDK from a vendor, you can use it.
32
32
33
-
Because many Chinese cloud providers have made "modifications" in many places and do not support many of the latest S3 technologies, many object storage products around the world do not recommend the SDKs of many Chinese cloud providers.
33
+
Some third-party SDKs may have non-standard implementations. We recommend avoiding SDKs that are not strictly S3-compliant.
34
34
35
-
## 2. Can MinIO SDKs communicate directly with RustFS?
35
+
## 2. Compatibility with MinIO SDKs
36
36
37
-
Yes.
38
-
39
-
We have conducted comprehensive adaptation and compatibility for MinIO SDKs.
37
+
Yes, RustFS is fully compatible with MinIO SDKs.
40
38
41
39
If you are using MinIO SDKs, you can modify the Endpoint, AK, and SK to be directly compatible with RustFS.
42
40
43
-
## 3. What to do if there are other incompatible SDKs?
41
+
## 3. Handling Incompatible SDKs
42
+
43
+
If you encounter an SDK that does not support standard S3, MinIO, or RustFS:
44
44
45
-
If we use an SDK from a cloud provider that does not support the latest S3, MinIO, or RustFS, how should we handle it?
46
-
Please replace the SDK as soon as possible and re-match and upgrade on the business side.
0 commit comments