[package]
edition = "2024"
rust-version = "1.95.0"
name = "vti-secrets"
version = "0.1.9"
authors = ["Glenn Gore <glenn@affinidi.com>"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pluggable secret-store backends + integration onboarding flow for Verifiable Trust Infrastructure"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/OpenVTC/verifiable-trust-infrastructure"
[features]
aws-secrets = [
"dep:aws-sdk-secretsmanager",
"dep:aws-config",
]
azure-secrets = [
"dep:azure_security_keyvault_secrets",
"dep:azure_identity",
"dep:futures-util",
]
config-seed = []
default = []
gcp-secrets = [
"dep:google-cloud-secretmanager-v1",
"dep:google-cloud-auth",
"dep:bytes",
]
k8s-secrets = [
"dep:kube",
"dep:k8s-openapi",
]
keyring = ["dep:keyring-core"]
onboarding = [
"dep:vta-sdk",
"dep:ed25519-dalek",
"dep:multibase",
"dep:rand",
]
tee = []
vault-secrets = ["dep:vaultrs"]
[lib]
name = "vti_secrets"
path = "src/lib.rs"
[dependencies.aws-config]
version = "1"
features = ["behavior-version-latest"]
optional = true
[dependencies.aws-sdk-secretsmanager]
version = "1"
optional = true
[dependencies.azure_identity]
version = "0.35"
optional = true
[dependencies.azure_security_keyvault_secrets]
version = "0.14"
optional = true
[dependencies.bytes]
version = "1"
optional = true
[dependencies.ed25519-dalek]
version = "3"
optional = true
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.google-cloud-auth]
version = "1"
optional = true
[dependencies.google-cloud-secretmanager-v1]
version = "1"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.k8s-openapi]
version = "0.27"
features = ["latest"]
optional = true
[dependencies.keyring-core]
version = "1"
optional = true
[dependencies.kube]
version = "3.1"
features = [
"client",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.multibase]
version = "0.9"
optional = true
[dependencies.rand]
version = "0.10"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"sync",
"signal",
"time",
]
[dependencies.tracing]
version = "0.1"
[dependencies.vaultrs]
version = "0.8"
optional = true
[dependencies.vta-sdk]
version = "0.21"
features = ["session"]
optional = true
[dependencies.vti-common]
version = "0.11"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"sync",
"signal",
"time",
]
[dev-dependencies.toml]
version = "1"
[lints.clippy]
needless_pass_by_value = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
[lints.rust]
unsafe_op_in_unsafe_fn = "warn"