mirror of
https://github.com/marcoallegretti/karapace.git
synced 2026-03-26 21:43:09 +00:00
- Engine: init → resolve → lock → build → enter/exec → freeze → archive → destroy - Cached store_root_str avoiding repeated to_string_lossy() allocations - WAL-protected build, enter, exec, destroy, commit, restore, GC operations - Overlay drift detection: diff/commit/export via upper_dir scanning - Deterministic snapshot commit with composite identity hashing - Atomic restore via staging directory swap - StoreLock: compile-time enforcement via type parameter on gc() - Signal handler: SIGINT/SIGTERM graceful shutdown with AtomicBool - Push/pull delegation to karapace-remote backend - Crash recovery: stale .running marker cleanup on Engine::new() - Integration tests, E2E tests, crash injection tests, ENOSPC simulation - Criterion benchmarks: build, rebuild, commit, restore, GC, verify
37 lines
883 B
TOML
37 lines
883 B
TOML
[package]
|
|
name = "karapace-core"
|
|
description = "Build engine, lifecycle state machine, drift control, and concurrency for Karapace"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
blake3.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
chrono.workspace = true
|
|
ctrlc.workspace = true
|
|
tracing.workspace = true
|
|
fs2.workspace = true
|
|
libc.workspace = true
|
|
karapace-schema = { path = "../karapace-schema" }
|
|
karapace-store = { path = "../karapace-store" }
|
|
karapace-runtime = { path = "../karapace-runtime" }
|
|
karapace-remote = { path = "../karapace-remote" }
|
|
tempfile.workspace = true
|
|
|
|
[dev-dependencies]
|
|
criterion.workspace = true
|
|
|
|
[[bin]]
|
|
name = "stress_test"
|
|
path = "src/bin/stress_test.rs"
|
|
|
|
[[bench]]
|
|
name = "engine_benchmarks"
|
|
harness = false
|