commit f1fda6e864ffed0ee0fb5a17945d388306e00bba from: murilo ijanc date: Thu Nov 27 11:59:38 2025 UTC Get envs from all containers in pod commit - b3f208ac04b3964747bb6430cf720327e3d9f712 commit + f1fda6e864ffed0ee0fb5a17945d388306e00bba blob - e74f0a051aa742da2231a7665088f2e0f06c3c75 blob + 229379fec7987c02ced194584bcd422ee3513084 --- kopsd/src/handler.rs +++ kopsd/src/handler.rs @@ -83,23 +83,42 @@ impl Handler { } }; - let container_name = req.container.clone().unwrap_or_else(|| { - spec.containers[0].name.clone() // default: first container - }); + let mut vars: Vec = Vec::new(); - let container = - match spec.containers.iter().find(|c| c.name == container_name) { - Some(c) => c, - None => { - return Response::Error { - message: format!( - "container '{}' not found in pod {}", - container_name, req.pod - ), - }; - } - }; + // let container_name = req.container.clone().unwrap_or_else(|| { + // spec.containers[0].name.clone() // default: first container + // }); + for container in spec.containers.clone() { + let container_vars: Vec = container + .env + .clone() + .unwrap_or_default() + .into_iter() + .filter(|_e| { + // if let Some(re) = ®ex { re.is_match(&e.name) } else { true } + true + }) + .map(|e| EnvEntry { name: e.name, value: e.value }) + .collect(); + vars.extend(container_vars); + } + + vars.sort(); + + // let container = + // match spec.containers.iter().find(|c| c.name == container_name) { + // Some(c) => c, + // None => { + // return Response::Error { + // message: format!( + // "container '{}' not found in pod {}", + // container_name, req.pod + // ), + // }; + // } + // }; + // filtrar vars // let regex = match req.filter_regex { // Some(r) => Some(match Regex::new(&r) { @@ -113,17 +132,17 @@ impl Handler { // None => None, // }; - let vars: Vec = container - .env - .clone() - .unwrap_or_default() - .into_iter() - .filter(|_e| { - // if let Some(re) = ®ex { re.is_match(&e.name) } else { true } - true - }) - .map(|e| EnvEntry { name: e.name, value: e.value }) - .collect(); + // let vars: Vec = container + // .env + // .clone() + // .unwrap_or_default() + // .into_iter() + // .filter(|_e| { + // // if let Some(re) = ®ex { re.is_match(&e.name) } else { true } + // true + // }) + // .map(|e| EnvEntry { name: e.name, value: e.value }) + // .collect(); Response::EnvVars { vars } }