# mimirs-ha - High-availability replication with Raft consensus
# Implements Raft consensus, write-ahead log, and pluggable storage backend trait.
# Justified boundary: Separates distributed systems concerns from memory logic.

[package]
name = "mimirs-ha"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "High-availability replication layer with Raft consensus for MimirsWell"
keywords.workspace = true
categories.workspace = true

[dependencies]
mimirs-core = { workspace = true }

# Async runtime
tokio = { workspace = true }
async-trait = { workspace = true }

# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
tracing = { workspace = true }

# Utilities
uuid = { workspace = true }
chrono = { workspace = true }
thiserror = { workspace = true }
derive_builder = { workspace = true }

# Raft consensus implementation
raft-rs = "0.1"

# WAL and persistence
bytes = "1.9"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }

# HTTP for replication transport
reqwest = { version = "0.12", features = ["json", "rustls-tls"] }
axum = "0.7"
tower = "0.4"
bincode = "1.3"

[dev-dependencies]
pretty_assertions = "1.4"
tempfile = "3.14"
