Calvery SDK — Rust
Official Rust SDK for Calvery Vault secret manager.
Install
Add to Cargo.toml:
[dependencies]
calvery = "0.1"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
Quickstart
use calvery::Client;
#[tokio::main]
async fn main() -> Result<(), calvery::Error> {
let client = Client::new(
std::env::var("CVSM_TOKEN").unwrap(),
"acme-corp",
)?;
let db_url = client.get("DATABASE_URL").await?;
println!("DB URL: {}", db_url);
let all = client.get_all().await?;
let injected = client.inject(false).await?;
println!("Injected {} vars", injected.len());
Ok(())
}
Config
use std::time::Duration;
use calvery::Client;
let client = Client::builder("cvsm_xxx", "acme-corp")
.base_url("https://vault.your-company.internal") .environment("staging")
.cache_ttl(Duration::from_secs(60))
.max_retries(5)
.timeout(Duration::from_secs(30))
.build()?;
Error handling
match client.get("DATABASE_URL").await {
Ok(v) => println!("{}", v),
Err(calvery::Error::NotFound(msg)) => eprintln!("secret missing: {msg}"),
Err(calvery::Error::Auth(msg)) => eprintln!("token invalid: {msg}"),
Err(calvery::Error::Network(msg)) => eprintln!("network: {msg}"),
Err(e) => eprintln!("other: {e}"),
}
License
MIT — see LICENSE.
Bug reports: github.com/RenzyArmstrong/Calvery-Vault/issues
Support: support@calvery.xyz