envvault/cli/commands/
get.rs1use crate::cli::{load_keyfile, prompt_password_for_vault, vault_path, Cli};
4use crate::errors::Result;
5use crate::vault::VaultStore;
6
7pub fn execute(cli: &Cli, key: &str) -> Result<()> {
9 let path = vault_path(cli)?;
10 let keyfile = load_keyfile(cli)?;
11
12 let vault_id = path.to_string_lossy();
14 let password = prompt_password_for_vault(Some(&vault_id))?;
15 let store = VaultStore::open(&path, password.as_bytes(), keyfile.as_deref())?;
16
17 let value = store.get_secret(key)?;
19 println!("{value}");
20
21 Ok(())
22}