difftreelog
feat add-shared --readd
in: trunk
1 file changed
cmds/fleet/src/cmds/secrets/mod.rsdiffbeforeafterboth34 #[clap(long)]34 #[clap(long)]35 public_file: Option<PathBuf>,35 public_file: Option<PathBuf>,3637 /// Secret with this name already exists, override its value while keeping the same owners.38 #[clap(long)]39 readd: bool,36 },40 },37 /// Add secret, data should be provided in stdin41 /// Add secret, data should be provided in stdin38 Add {42 Add {91 }95 }92 }96 }93 Secrets::AddShared {97 Secrets::AddShared {94 machines,98 mut machines,95 name,99 name,96 force,100 force,97 public,101 public,98 public_file,102 public_file,103 readd,99 } => {104 } => {105 let exists = config.has_shared(&name);106 if exists && !force && !readd {107 bail!("secret already defined");108 }109 if readd {110 // Fixme: use clap to limit this usage111 ensure!(!force, "--force and --readd are not compatible");112 ensure!(exists, "secret doesn't exists");113 ensure!(114 machines.is_empty(),115 "you can't use machines argument for --readd"116 );117 let shared = config.shared_secret(&name)?;118 machines = shared.owners;119 }120100 let recipients = futures::stream::iter(machines.iter())121 let recipients = futures::stream::iter(machines.iter())101 .then(|m| config.recipient(m))122 .then(|m| config.recipient(m))124 }145 }125 };146 };126127 if config.has_shared(&name) && !force {128 bail!("secret already defined");129 }130 config.replace_shared(147 config.replace_shared(131 name,148 name,132 FleetSharedSecret {149 FleetSharedSecret {