[package]
edition = "2024"
name = "libvault"
version = "0.2.2"
authors = ["rk8s-dev team"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "the libvault is modified from RustyVault"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rk8s-dev/rk8s/tree/main/project/libvault"
resolver = "2"
[features]
crypto_adaptor_openssl = [
"dep:openssl",
"dep:openssl-sys",
]
crypto_adaptor_tongsuo = [
"dep:openssl",
"dep:openssl-sys",
]
default = ["crypto_adaptor_openssl"]
storage_pg = ["sqlx/postgres"]
storage_sqlite = ["sqlx/sqlite"]
storage_xline = ["etcd-client"]
[lib]
name = "libvault"
path = "src/lib.rs"
[[test]]
name = "qlean_pki_test"
path = "tests/qlean_pki_test.rs"
[dependencies.anyhow]
version = "1.0.100"
[dependencies.arc-swap]
version = "1"
[dependencies.as-any]
version = "0.3.1"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.base64]
version = "0.22.1"
features = ["alloc"]
[dependencies.bcrypt]
version = "0.17.1"
[dependencies.better_default]
version = "1.0.5"
[dependencies.blake2b_simd]
version = "1.0"
[dependencies.blake3]
version = "1.8"
[dependencies.builder-pattern]
version = "0.4.2"
[dependencies.chrono]
version = "0.4.42"
features = ["serde"]
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.dashmap]
version = "6.1.0"
[dependencies.derivative]
version = "2.2.0"
[dependencies.derive_more]
version = "0.99.17"
[dependencies.enum-map]
version = "2.6.1"
[dependencies.etcd-client]
version = "0.17"
features = [
"tls",
"tls",
]
optional = true
[dependencies.foreign-types]
version = "0.3.2"
[dependencies.glob]
version = "0.3.1"
[dependencies.go-defer]
version = "0.1.0"
[dependencies.hcl-rs]
version = "0.18.0"
[dependencies.hex]
version = "0.4.3"
[dependencies.humantime]
version = "2.1.0"
[dependencies.ipnetwork]
version = "0.17.0"
[dependencies.itertools]
version = "0.14.0"
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.libc]
version = "0.2"
[dependencies.lockfile]
version = "0.4.0"
[dependencies.log]
version = "0.4.28"
[dependencies.openssl]
version = "0.10.73"
optional = true
[dependencies.openssl-sys]
version = "0.9.109"
optional = true
[dependencies.pem]
version = "3.0.0"
[dependencies.pgp]
version = "0.19.0"
[dependencies.priority-queue]
version = "2.1.0"
[dependencies.radix_trie]
version = "0.2.1"
[dependencies.rand]
version = "0.9.0"
[dependencies.rand_chacha]
version = "0.3.1"
[dependencies.regex]
version = "1.12.2"
[dependencies.reqwest]
version = "0.12.24"
features = [
"json",
"rustls-tls",
]
[dependencies.rustls]
version = "0.23.16"
[dependencies.rustls-pemfile]
version = "2.1.0"
[dependencies.rustls-webpki]
version = "0.103.7"
[dependencies.serde]
version = "1.0.228"
features = [
"derive",
"derive",
"rc",
"alloc",
]
[dependencies.serde_bytes]
version = "0.11.14"
[dependencies.serde_derive]
version = "1.0.228"
[dependencies.serde_json]
version = "1.0.145"
[dependencies.serde_yaml]
version = "0.9.34"
[dependencies.smallvec]
version = "1.15.1"
[dependencies.sqlx]
version = "0.8.6"
features = [
"runtime-tokio-rustls",
"sqlite",
"postgres",
"macros",
"migrate",
"chrono",
"uuid",
]
optional = true
[dependencies.ssh-key]
version = "0.6.7"
features = [
"std",
"crypto",
]
[dependencies.stretto]
version = "0.8.0"
[dependencies.strum]
version = "0.25.0"
features = ["derive"]
[dependencies.strum_macros]
version = "0.25.0"
[dependencies.tempfile]
version = "3.20.0"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.48.0"
features = [
"full",
"rt-multi-thread",
"macros",
]
[dependencies.tonic]
version = "0.14.2"
[dependencies.tracing]
version = "0.1.41"
[dependencies.ureq]
version = "2.10.0"
features = ["json"]
[dependencies.url]
version = "2.5.7"
[dependencies.webpki-roots]
version = "0.26.3"
[dependencies.x509-parser]
version = "0.18.0"
[dependencies.zeroize]
version = "1.7.0"
features = [
"zeroize_derive",
"zeroize_derive",
]
[dev-dependencies.qlean]
version = "0.2.2"
[build-dependencies.toml]
version = "0.8.19"
[target."cfg(unix)".dependencies.daemonize]
version = "0.5.0"
[lints.clippy]
await_holding_lock = "allow"
collapsible_match = "allow"
field_reassign_with_default = "allow"
large_enum_variant = "allow"
let_and_return = "allow"
new_without_default = "allow"
ptr_arg = "allow"
result_large_err = "allow"
should_implement_trait = "allow"
too_many_arguments = "allow"
unnecessary_map_or = "allow"