secretumvault/Cargo.toml

98 lines
2.3 KiB
TOML
Raw Permalink Normal View History

2025-12-22 21:34:01 +00:00
[package]
name = "secretumvault"
version = "0.1.0"
edition = "2021"
authors = ["Jesús Pérez <jesus@example.com>"]
description = "Post-quantum ready secrets management system"
license = "Apache-2.0"
[features]
default = ["openssl", "filesystem", "server", "surrealdb-storage"]
# Crypto backends
openssl = ["dep:openssl"]
aws-lc = ["aws-lc-rs"]
pqc = []
# Storage backends
filesystem = []
surrealdb-storage = ["surrealdb/kv-mem"]
etcd-storage = ["etcd-client"]
postgresql-storage = ["sqlx"]
# Components
server = ["axum", "tower-http", "tokio-rustls", "rustls-pemfile", "rustls"]
cli = ["clap", "reqwest"]
cedar = ["cedar-policy"]
[dependencies]
# Core
tokio = { version = "1.48", features = ["full"] }
async-trait = "0.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.9"
thiserror = "2.0"
anyhow = "1.0"
chrono = { version = "0.4", features = ["serde"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["json"] }
# Crypto
aws-lc-rs = { version = "1.15", features = ["unstable"], optional = true }
openssl = { version = "0.10", optional = true }
aes-gcm = "0.10"
chacha20poly1305 = "0.10"
rand = "0.9"
# Shamir Secret Sharing
sharks = "0.5"
# Cedar policies
cedar-policy = { version = "4.8", optional = true }
# Storage
surrealdb = { version = "2.4", optional = true, features = ["kv-mem"] }
etcd-client = { version = "0.17", optional = true }
sqlx = { version = "0.8", features = ["postgres", "runtime-tokio-native-tls"], optional = true }
# Server
axum = { version = "0.8", optional = true, features = ["macros"] }
tower-http = { version = "0.6", optional = true, features = ["cors", "trace"] }
tower = "0.5"
tokio-rustls = { version = "0.26", optional = true }
rustls-pemfile = { version = "2.2", optional = true }
rustls = { version = "0.23", optional = true }
# HTTP Client
reqwest = { version = "0.12", features = ["json"], optional = true }
# CLI
clap = { version = "4.5", optional = true, features = ["derive", "env"] }
# Utilities
uuid = { version = "1.19", features = ["v4", "serde"] }
base64 = "0.22"
hex = "0.4"
regex = "1.12"
[dev-dependencies]
tempfile = "3.24"
2025-12-22 21:34:01 +00:00
wiremock = "0.6"
proptest = "1.9"
[[bin]]
name = "svault"
path = "src/main.rs"
required-features = ["server"]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[profile.dev]
split-debuginfo = "packed"