Rust SDK
Install
[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: {db_url}"); Ok(())}API
Client::new(token, team)— default configClient::builder(token, team)— custom config (base_url, environment, cache_ttl, max_retries, timeout)client.get("NAME")/.get_env("NAME", "staging")— single secretclient.get_all()/.get_all_env("staging")— HashMap semua secretclient.inject(overwrite: bool)— populatestd::env::set_var, return list namaclient.clear_cache()— clear local cache
Error types
match client.get("NAME").await { Ok(v) => { /* ... */ } Err(calvery::Error::NotFound(msg)) => /* secret missing */, Err(calvery::Error::Auth(msg)) => /* token invalid */, Err(calvery::Error::Network(msg)) => /* konek gagal */, Err(calvery::Error::Server { status, message }) => /* 4xx/5xx */, Err(calvery::Error::Decode(msg)) => /* response format salah */, Err(calvery::Error::Config(msg)) => /* token/team kosong */,}