libvault 0.2.2

the libvault is modified from RustyVault
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"