[package]
name = "sirr-server"
version.workspace = true
edition.workspace = true
authors.workspace = true
license-file.workspace = true
repository.workspace = true
description = "Sirr server library — axum HTTP server with redb storage and ChaCha20Poly1305 encryption"
homepage.workspace = true
documentation.workspace = true
keywords = ["secrets", "vault", "ephemeral", "axum", "encryption"]
categories = ["cryptography", "web-programming::http-server"]

[dependencies]
axum = "0.8"
tokio = { workspace = true }
tower-http = { version = "0.6", features = ["trace", "cors"] }
tower_governor = { version = "0.8", default-features = false, features = ["axum"] }
ipnet = "2"
redb = "2"
chacha20poly1305 = "0.10"
zeroize = { version = "1.8", features = ["derive"] }
constant_time_eq = "0.3"
serde = { workspace = true }
serde_json = { workspace = true }
bincode = { version = "2", features = ["serde"] }
directories = "5"
rand = "0.8"
tracing = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
anyhow = { workspace = true }
thiserror = "1"
hex = "0.4"
hmac = "0.12"
sha2 = "0.10"
http = "1"
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }

[dev-dependencies]
axum-test = "19"
tokio = { workspace = true }
tempfile = "3"
wiremock = "0.6"
