Crate cartridge_rs

Crate cartridge_rs 

Source
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
CartridgeBuilder
Builder for customizing Cartridge creation
EncryptionConfig
Encryption configuration
Entry
Rich metadata about a file or directory in the archive

Traits§

Vfs
Virtual Filesystem trait for unified storage interface