refactor: Migrate the vault/bare_init logic
This commit is contained in:
+1
-11
@@ -356,7 +356,7 @@ impl Config {
|
||||
};
|
||||
|
||||
let setup = async |config: &mut Self| -> Result<()> {
|
||||
let vault = Vault::init(config);
|
||||
let vault = Vault::init(&config.to_app_config());
|
||||
|
||||
let (parsed_config, missing_secrets) = interpolate_secrets(&content, &vault);
|
||||
if !missing_secrets.is_empty() && !info_flag {
|
||||
@@ -411,16 +411,6 @@ impl Config {
|
||||
Ok(config)
|
||||
}
|
||||
|
||||
pub fn vault_password_file(&self) -> PathBuf {
|
||||
match &self.vault_password_file {
|
||||
Some(path) => match path.exists() {
|
||||
true => path.clone(),
|
||||
false => gman::config::Config::local_provider_password_file(),
|
||||
},
|
||||
None => gman::config::Config::local_provider_password_file(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn sessions_dir(&self) -> PathBuf {
|
||||
match &self.agent {
|
||||
None => match env::var(get_env_name("sessions_dir")) {
|
||||
|
||||
+2
-1
@@ -92,7 +92,8 @@ async fn main() -> Result<()> {
|
||||
}
|
||||
|
||||
if vault_flags {
|
||||
return Vault::handle_vault_flags(cli, Config::init_bare()?);
|
||||
let cfg = Config::init_bare()?;
|
||||
return Vault::handle_vault_flags(cli, &cfg.vault);
|
||||
}
|
||||
|
||||
let abort_signal = create_abort_signal();
|
||||
|
||||
+9
-9
@@ -5,7 +5,7 @@ pub use utils::create_vault_password_file;
|
||||
pub use utils::interpolate_secrets;
|
||||
|
||||
use crate::cli::Cli;
|
||||
use crate::config::Config;
|
||||
use crate::config::AppConfig;
|
||||
use crate::vault::utils::ensure_password_file_initialized;
|
||||
use anyhow::{Context, Result};
|
||||
use fancy_regex::Regex;
|
||||
@@ -26,7 +26,7 @@ pub type GlobalVault = Arc<Vault>;
|
||||
|
||||
impl Vault {
|
||||
pub fn init_bare() -> Self {
|
||||
let vault_password_file = Config::default().vault_password_file();
|
||||
let vault_password_file = AppConfig::default().vault_password_file();
|
||||
let local_provider = LocalProvider {
|
||||
password_file: Some(vault_password_file),
|
||||
git_branch: None,
|
||||
@@ -36,7 +36,7 @@ impl Vault {
|
||||
Self { local_provider }
|
||||
}
|
||||
|
||||
pub fn init(config: &Config) -> Self {
|
||||
pub fn init(config: &AppConfig) -> Self {
|
||||
let vault_password_file = config.vault_password_file();
|
||||
let mut local_provider = LocalProvider {
|
||||
password_file: Some(vault_password_file),
|
||||
@@ -130,25 +130,25 @@ impl Vault {
|
||||
Ok(secrets)
|
||||
}
|
||||
|
||||
pub fn handle_vault_flags(cli: Cli, config: Config) -> Result<()> {
|
||||
pub fn handle_vault_flags(cli: Cli, vault: &Vault) -> Result<()> {
|
||||
if let Some(secret_name) = cli.add_secret {
|
||||
config.vault.add_secret(&secret_name)?;
|
||||
vault.add_secret(&secret_name)?;
|
||||
}
|
||||
|
||||
if let Some(secret_name) = cli.get_secret {
|
||||
config.vault.get_secret(&secret_name, true)?;
|
||||
vault.get_secret(&secret_name, true)?;
|
||||
}
|
||||
|
||||
if let Some(secret_name) = cli.update_secret {
|
||||
config.vault.update_secret(&secret_name)?;
|
||||
vault.update_secret(&secret_name)?;
|
||||
}
|
||||
|
||||
if let Some(secret_name) = cli.delete_secret {
|
||||
config.vault.delete_secret(&secret_name)?;
|
||||
vault.delete_secret(&secret_name)?;
|
||||
}
|
||||
|
||||
if cli.list_secrets {
|
||||
config.vault.list_secrets(true)?;
|
||||
vault.list_secrets(true)?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user