envvault/cli/commands/
list.rs1use crate::cli::output;
4use crate::cli::{load_keyfile, prompt_password_for_vault, vault_path, Cli};
5use crate::errors::Result;
6use crate::vault::VaultStore;
7
8pub fn execute(cli: &Cli) -> Result<()> {
10 let path = vault_path(cli)?;
11 let keyfile = load_keyfile(cli)?;
12
13 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 secrets = store.list_secrets();
18
19 output::info(&format!(
20 "{} environment — {} secret(s)",
21 cli.env,
22 secrets.len()
23 ));
24
25 output::print_secrets_table(&secrets);
26
27 Ok(())
28}