rustfs-protos 0.0.3

Protocol definitions for RustFS, providing gRPC and FlatBuffers interfaces for communication between components.
Documentation
[![RustFS](https://rustfs.com/images/rustfs-github.png)](https://rustfs.com)

# RustFS Protos - Protocol Buffer Definitions

<p align="center">
  <strong>Protocol buffer definitions and gRPC interfaces for RustFS distributed object storage</strong>
</p>

<p align="center">
  <a href="https://github.com/rustfs/rustfs/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/rustfs/rustfs/actions/workflows/ci.yml/badge.svg" /></a>
  <a href="https://docs.rustfs.com/en/">๐Ÿ“– Documentation</a>
  ยท <a href="https://github.com/rustfs/rustfs/issues">๐Ÿ› Bug Reports</a>
  ยท <a href="https://github.com/rustfs/rustfs/discussions">๐Ÿ’ฌ Discussions</a>
</p>

---

## ๐Ÿ“– Overview

**RustFS Protos** provides protocol buffer definitions and gRPC service interfaces for the [RustFS](https://rustfs.com)
distributed object storage system. It defines the communication protocols, message formats, and service contracts used
across all RustFS components.

> **Note:** This is a foundational submodule of RustFS that provides essential communication protocols for the
> distributed object storage system. For the complete RustFS experience, please visit
> the [main RustFS repository]https://github.com/rustfs/rustfs.

## โœจ Features

### ๐Ÿ“ก gRPC Services

- **Storage Service**: Core storage operations (get, put, delete)
- **Admin Service**: Administrative and management operations
- **Metadata Service**: Metadata management and queries
- **Lock Service**: Distributed locking and coordination

### ๐Ÿ“ฆ Message Types

- **Storage Messages**: Object and bucket operation messages
- **Administrative Messages**: Cluster management messages
- **Metadata Messages**: File and object metadata structures
- **Error Messages**: Standardized error reporting

### ๐Ÿ”ง Protocol Features

- **Versioning**: Protocol version compatibility management
- **Extensions**: Custom field extensions for future expansion
- **Streaming**: Support for streaming large data transfers
- **Compression**: Built-in message compression support

### ๐Ÿ› ๏ธ Code Generation

- **Rust Bindings**: Automatic Rust code generation
- **Type Safety**: Strong typing for all protocol messages
- **Documentation**: Generated API documentation
- **Validation**: Message validation and constraints

## ๐Ÿ“ฆ Installation

Add this to your `Cargo.toml`:

```toml
[dependencies]
rustfs-protos = "0.0.3"
```

## ๐Ÿ”ง Usage

## ๐ŸŒ Related Projects

This module is part of the RustFS ecosystem:

- [RustFS Main]https://github.com/rustfs/rustfs - Core distributed storage system
- [RustFS Common]../common - Common types and utilities
- [RustFS Lock]../lock - Distributed locking

## ๐Ÿ“š Documentation

For comprehensive documentation, visit:

- [RustFS Documentation]https://docs.rustfs.com
- [Protos API Reference]https://docs.rustfs.com/protos/
- [gRPC Guide]https://docs.rustfs.com/grpc/

## ๐Ÿ”— Links

- [Documentation]https://docs.rustfs.com - Complete RustFS manual
- [Changelog]https://github.com/rustfs/rustfs/releases - Release notes and updates
- [GitHub Discussions]https://github.com/rustfs/rustfs/discussions - Community support

## ๐Ÿค Contributing

We welcome contributions! Please see
our [Contributing Guide](https://github.com/rustfs/rustfs/blob/main/CONTRIBUTING.md) for details.

## ๐Ÿ“„ License

Licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/rustfs/rustfs/blob/main/LICENSE) for
details.

---

<p align="center">
  <strong>RustFS</strong> is a trademark of RustFS, Inc.<br>
  All other trademarks are the property of their respective owners.
</p>

<p align="center">
  Made with ๐Ÿ“ก by the RustFS Team
</p>