10 个版本
0.2.5 | 2022年8月3日 |
---|---|
0.2.4 | 2022年8月3日 |
0.1.4 | 2021年12月20日 |
0.1.1 | 2021年10月18日 |
#550 in 身份验证
14KB
263 行
Coult
Rust Vault 密钥检索器
示例
use coult::{Config, Vault};
use serde::Deserialize;
#[derive(Debug, Deserialize)]
struct Secret {
password: String,
}
#[tokio::main]
async fn main() {
tracing_subscriber::fmt::init();
let config = Config::new(
"http".to_string(), # Vault Http Protocol http/https
"127.0.0.1".to_string(), # Vault Host
8200, # Port
"config/path".to_string(), # Secret Path
"vault-plaintext-root-tokenzqwe".to_string(), # Vault Token
);
let vault = Vault::new(config).await.unwrap();
let data = vault.get_secret::<Secret>().await.unwrap();
println!("{:?}", data)
}
lib.rs
:
Coult 是一个从 HashiCorp Vault 获取数据的 crate
用法
Coult 使用 hyper 客户端而不是 reqwest,以创建更简单、更轻量级的 crate,它将帮助您向 Vault 发送 GET 请求以检索密钥。此 crate 将帮助您使用 serde 自动解析,并确保您的结构体具有 Deserialize derive。
示例
use coult::{Config, Vault};
use serde::Deserialize;
#[derive(Debug, Deserialize)]
struct Secret {
password: String,
}
#[tokio::main]
async fn main() {
tracing_subscriber::fmt::init();
let vault = Vault::new().build().await.unwrap();
let data = vault.get_secret::<Secret>().await.unwrap(); // for v1, get_secret_v2
println!("{:?}", data)
}
依赖项
~6–13MB
~150K SLoC