RustFS Protos - Protocol Buffer Definitions
📖 Overview
RustFS Protos provides protocol buffer definitions and gRPC service interfaces for the RustFS 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.
✨ 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
:
[]
= "0.0.3"
🔧 Usage
🌍 Related Projects
This module is part of the RustFS ecosystem:
- RustFS Main - Core distributed storage system
- RustFS Common - Common types and utilities
- RustFS Lock - Distributed locking
📚 Documentation
For comprehensive documentation, visit:
🔗 Links
- Documentation - Complete RustFS manual
- Changelog - Release notes and updates
- GitHub Discussions - Community support
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📄 License
Licensed under the Apache License, Version 2.0. See LICENSE for details.