[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