From 9266fe01db3de3f1142df1b52f70929e75580c0b Mon Sep 17 00:00:00 2001 From: diogo464 Date: Mon, 11 Aug 2025 11:06:40 +0100 Subject: added clean command --- src/main.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index 3db3169..303d4f3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -62,6 +62,7 @@ struct Common { enum SubCmd { Net(NetArgs), Run(RunArgs), + Clean(CleanArgs), } #[derive(Debug, Args)] @@ -188,6 +189,12 @@ struct RunArgs { schedule: Option, } +#[derive(Debug, Args)] +struct CleanArgs { + #[clap(flatten)] + common: Common, +} + #[derive(Debug, Clone)] struct MachineConfig { machine: Machine, @@ -217,6 +224,7 @@ async fn main() -> Result<()> { NetSubCmd::Preview(args) => cmd_net_preview(args).await, }, SubCmd::Run(args) => cmd_run(args).await, + SubCmd::Clean(args) => cmd_clean(args).await, } } @@ -469,6 +477,18 @@ async fn cmd_run(args: RunArgs) -> Result<()> { Ok(()) } +async fn cmd_clean(args: CleanArgs) -> Result<()> { + let context = context_from_common(&args.common).await?; + let machines = oar::job_list_machines(&context).await?; + machines_net_container_build(&context, &machines).await?; + machine::for_each(&machines, |machine| { + machine_containers_clean(&context, machine) + }) + .await?; + machines_clean(&context, &machines).await?; + Ok(()) +} + fn machine_containers_create_script(containers: &[ScheduledContainer]) -> String { let mut script = String::default(); for (idx, container) in containers.iter().enumerate() { -- cgit