Expand description
§Cartridge - High-Performance Mutable Archive Format
cartridge-rs provides a high-level, easy-to-use API for working with Cartridge archives.
Cartridge is a mutable archive format optimized for embedded systems with features like:
- Mutable archives with in-place modifications
- SQLite VFS integration for running databases directly inside archives
- Advanced features: compression, encryption, snapshots, IAM policies
- Engram integration: freeze to immutable, signed archives
§Quick Start
use cartridge_rs::{Cartridge, Result};
// Create a new archive - auto-grows from 12KB as needed!
let mut cart = Cartridge::create("my-data", "My Data Container")?;
// Write files
cart.write("documents/report.txt", b"Hello, World!")?;
// Read files
let content = cart.read("documents/report.txt")?;
// List directory
let files = cart.list("documents")?;
// Automatic cleanup on drop§Advanced Usage
use cartridge_rs::{CartridgeBuilder, Result};
// Use builder for custom configuration
let mut cart = CartridgeBuilder::new()
.slug("my-data")
.title("My Data Container")
.path("/data/my-container") // Custom path
.with_audit_logging()
.build()?;
cart.write("data.txt", b"content")?;Re-exports§
pub use crate::core::catalog::FileMetadata;pub use crate::core::catalog::FileType;pub use crate::core::error::CartridgeError;pub use crate::core::error::Result;pub use crate::core::header::Header;pub use crate::core::header::S3AclMode;pub use crate::core::header::S3FeatureFuses;pub use crate::core::header::S3SseMode;pub use crate::core::header::S3VersioningMode;pub use crate::core::header::PAGE_SIZE;pub use crate::core::iam::Action;pub use crate::core::iam::Effect;pub use crate::core::iam::Policy;pub use crate::core::iam::PolicyEngine;pub use crate::core::iam::Statement;pub use crate::core::manifest::Manifest;pub use crate::core::snapshot::SnapshotManager;pub use crate::core::snapshot::SnapshotMetadata;pub use crate::core::validation::ContainerSlug;
Modules§
- core
- Cartridge Archive Format
Structs§
- Cartridge
- High-level Cartridge archive API
- Cartridge
Builder - Builder for customizing Cartridge creation
- Encryption
Config - Encryption configuration
- Entry
- Rich metadata about a file or directory in the archive
Traits§
- Vfs
- Virtual Filesystem trait for unified storage interface