diff --git a/src/cluster.rs b/src/cluster.rs index c5d96f9..75715c0 100644 --- a/src/cluster.rs +++ b/src/cluster.rs @@ -11,7 +11,10 @@ use serde_json::Value; use std::sync::Arc; use tokio::task::spawn; -pub(crate) async fn get_cluster_resources(version: &str, val: Vec) -> Result { +pub(crate) async fn get_cluster_resources( + version: &str, + val: Vec, +) -> Result> { let client = Client::try_default().await?; let current_config = kube::config::Kubeconfig::read().unwrap(); info!( @@ -19,7 +22,7 @@ pub(crate) async fn get_cluster_resources(version: &str, val: Vec) -> Res current_config.current_context.unwrap() ); info!("Target apiversions v{}", version); - Ok(val + let join_handle: ClusterOP = val .into_iter() .map(|resource| { let arc_client = Arc::new(client.clone()); @@ -79,5 +82,10 @@ pub(crate) async fn get_cluster_resources(version: &str, val: Vec) -> Res Ok(temp_table) }) }) - .collect()) + .collect(); + let mut v: Vec = vec![]; + for task in join_handle { + v.append(&mut task.await?.unwrap()); + } + Ok(v) } diff --git a/src/main.rs b/src/main.rs index 9dc49ef..bbbb579 100644 --- a/src/main.rs +++ b/src/main.rs @@ -63,15 +63,12 @@ async fn main() -> anyhow::Result<()> { match cli.check_scrape_type() { Scrape::Cluster => { - let join_handle: ClusterOP = get_cluster_resources(version, val).await?; + let x = utils::VecTableDetails(get_cluster_resources(version, val).await?); match cli.output { Output::Csv => { let mut wtr = csv::Writer::from_path("./deprecated-list.csv")?; generate_csv_header(&mut wtr, "Filename")?; - for task in join_handle { - let x: VecTableDetails = utils::VecTableDetails(task.await?.unwrap()); - x.generate_csv(&mut wtr)?; - } + x.generate_csv(&mut wtr)?; wtr.flush()?; info!( "deprecated-list.csv written at location {}", @@ -84,10 +81,7 @@ async fn main() -> anyhow::Result<()> { Output::Table => { let mut t = Table::new(); let t = generate_table_header(&mut t, "Namespace"); - for task in join_handle { - let x: VecTableDetails = utils::VecTableDetails(task.await?.unwrap()); - x.generate_table(t)?; - } + x.generate_table(t)?; println!("{t}"); } }