[package]
name = "d-engine"
version = "0.1.0"
edition = "2021"
resolver = "2"
authors = [
"Joshua Chi <joshokn@gmail.com>",
]
categories = [
"concurrency",
"asynchronous",
"algorithms",
"database"
]
keywords = [
"raft",
"consensus",
"distributed-systems",
"storage",
"fault-tolerance"
]
description = "A lightweight strongly-consistent Raft consensus engine for building reliable and scalable distributed systems."
homepage = "https://github.com/deventlab/d-engine"
license = "MIT OR Apache-2.0"
repository = "https://github.com/deventlab/d-engine"
[features]
default = []
coverage = []
[dependencies]
serde = { version = "1.0", features = ["derive"] }
prost = { version = "0.13", default-features = false }
bincode = "1.3"
h2 = "0.4.8"
tonic = { version = "0.12", features = ["gzip", "tls"] }
tonic-health = "0.12.3"
warp = "0.3.7"
rcgen = { version = "0.13", features = ["pem"] }
flate2 = { version = "1.0", default-features = false, features = ["zlib"] }
tokio = { version = "1.4", features = [
"macros",
"time",
"signal",
"fs",
"sync",
] }
tokio-stream = "0.1.16"
tokio-util = "0.7.11"
futures = "0.3.30"
sled = { version = "0.34.7", features = [
"compression",
], default-features = false }
prometheus = { version = "0.13", default-features = false }
log = "0.4.20"
tracing = { version = "0.1.41" }
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tracing-appender = "0.2"
parking_lot = "0.12.3"
rand = "0.8.5"
thiserror = "1.0"
config = { version ="0.14.0", default-features = false, features = ["toml"] }
autometrics = { version = "2.0.0", default-features = false, features = ["prometheus-exporter"] }
lazy_static = "1.4"
nanoid = "0.4.0"
dashmap = "5.5.3"
[dev-dependencies]
mockall = "0.12.1"
env_logger = "0.11.6"
once_cell = "1.20.2"
tokio = { version = "1", features = ["test-util", "process"] }
serial_test = "3.2.0"
temp-env = "0.3.6"
tempfile = "3.19.1"
[build-dependencies]
tonic-build = "0.12"
vergen = { version = "8.1", features = ["git", "gitcl"] }
[profile.dev]
opt-level = 1
incremental = true
codegen-units = 4
[profile.dev.package."*"]
opt-level = 3
[profile.release]
incremental = true
debug = false
opt-level = 'z'
overflow-checks = true
lto = true
codegen-units = 1