rustack_s3_core/lib.rs
1//! S3 service implementation for Rustack.
2//!
3//! This crate implements the S3 business logic provider (`RustackS3`) that can
4//! be plugged into the `rustack-s3-http` service layer via the `S3Handler` trait.
5//! It supports bucket CRUD, object CRUD, multipart uploads, versioning, CORS,
6//! tagging, ACLs, encryption metadata, checksums, object lock, and more.
7//!
8//! # Architecture
9//!
10//! ```text
11//! rustack-s3-http (routing, XML, auth)
12//! |
13//! v
14//! RustackS3 (S3Handler trait impl in server)
15//! |
16//! v
17//! S3ServiceState (buckets, global index)
18//! |
19//! v
20//! StorageBackend (in-memory + spillover)
21//! ```
22
23pub mod auth;
24pub mod checksums;
25pub mod config;
26pub mod cors;
27pub mod error;
28pub mod ops;
29pub mod provider;
30pub mod snapshot;
31pub mod state;
32pub mod storage;
33pub mod utils;
34pub mod validation;
35
36pub use config::S3Config;
37pub use provider::RustackS3;