replikey/Cargo.toml
2024-11-03 22:25:34 -06:00

61 lines
2.4 KiB
TOML

[package]
name = "replikey"
version = "0.1.0"
edition = "2021"
[dependencies]
clap = { version = "4.5.20", features = ["derive"] }
env_logger = "0.11.5"
log = "0.4"
rand_core = { version = "0.6.4", features = ["getrandom"] }
x509-parser = "0.16.0"
thiserror = "1.0.66"
time = { version = "0.3.36", optional = true }
aes-gcm = { version = "0.10.3", optional = true }
sha2 = { version = "0.10.8", optional = true }
argon2 = { version = "0.5.3", optional = true }
rpassword = { version = "7.3.1", optional = true }
rcgen = { version = "0.13.1", optional = true, features = ["crypto", "pem", "x509-parser"] }
pem-rfc7468 = { version = "0.7.0", features = ["alloc"], optional = true }
toml = { version = "0.8.19", optional = true }
reqwest = { version = "0.12.9", optional = true, default-features = false, features = ["rustls-tls"] }
openssl = { version = "0.10.68", optional = true }
tokio-rustls = { version = "0.26.0", optional = true }
serde = { version = "1.0.214", features = ["derive"], optional = true }
sqlx = { version = "0.8.2", optional = true, default-features = false, features = ["tls-none", "postgres"] }
tokio = { version = "1.41.0", features = ["rt", "rt-multi-thread", "macros", "net", "io-util", "sync"], optional = true }
rustls = { version = "0.23.16", optional = true }
async-compression = { version = "0.4.17", optional = true, features = ["futures-io"] }
yamux = { version = "0.13.3", optional = true }
futures = { version = "0.3.31", optional = true }
tokio-util = { version = "0.7.12", features = ["compat"], optional = true }
anyhow = "1.0.92"
[features]
default = ["keygen", "networking", "service", "remote-crl", "setup-postgres", "yamux", "zstd", "brotli"]
asyncio = ["dep:tokio", "dep:futures", "dep:tokio-util"]
keygen = ["dep:rcgen", "dep:pem-rfc7468", "dep:rpassword", "dep:argon2", "dep:sha2", "dep:aes-gcm", "dep:time"]
networking = ["asyncio", "dep:tokio-rustls", "dep:rustls", "dep:async-compression"]
test-crosscheck-openssl = ["dep:openssl"]
serde = ["dep:serde"]
service = ["serde", "networking", "dep:toml"]
remote-crl = ["dep:reqwest"]
setup-postgres = ["dep:sqlx"]
stat-service = ["networking", "serde"]
rustls = ["dep:rustls"]
async-compression = ["dep:async-compression"]
yamux = ["dep:yamux", "networking"]
zstd = ["async-compression/zstd"]
brotli = ["async-compression/brotli"]
[[bin]]
name = "replikey"
path = "src/bin/replikey.rs"
required-features = ["keygen"]
[dev-dependencies]
tempfile = "3.13.0"
[profile.release]
lto = true