#vault #hashi-corp #interact #session #mount #client

hc-vault

一个简单的crate,用于与hashicorp的vault交互

6个版本

0.3.0 2020年12月21日
0.2.3 2020年12月19日
0.1.0 2020年12月7日

#845 in 身份验证

MIT 许可证

51KB
1K SLoC

hc-vault

一个用于与hashicorp vault交互的Rust库

示例

使用approle-auth获取新的会话

let vault_url = "https://127.0.0.1:8200".to_string();
let role_id = "example-role-id".to_string();
let secret_id = "example-secret-id".to_string();

// Obtaining an Auth session, in this cause using approle
let approle_auth = match hc_vault::approle::Session::new(role_id, secret_id) {
	Err(e) => {
		println!("{}", e);
		return;
	},
	Ok(a) => a,
};

let config = hc_vault::Config {
	vault_url: vault_url, // The client will use this vault url
	..Default::default() // Use the default values for everything else
};

// Obtaining a valid vault-session, 
// using the previously obtained Auth Session and config
let vault_client = match hc_vault::Client::new(config, approle_auth).await {
  Err(e) => {
    println!("{}", e);
    return;
  },
  Ok(c) => c,
};
// Use vault_client for whatever you need to do

lib.rs:

异步、高度并发的crate,用于与vault及其挂载点交互

依赖关系

~3–7.5MB
~175K SLoC