syncable_cli/analyzer/kubelint/extract/
container.rs

1//! Container extraction utilities.
2
3use crate::analyzer::kubelint::context::object::*;
4
5/// Extract all containers from a PodSpec (containers + init containers).
6pub fn extract_all_containers(pod_spec: &PodSpec) -> Vec<&ContainerSpec> {
7    let mut containers: Vec<&ContainerSpec> = pod_spec.containers.iter().collect();
8    containers.extend(pod_spec.init_containers.iter());
9    containers
10}
11
12/// Alias for extract_all_containers.
13pub fn all_containers(pod_spec: &PodSpec) -> Vec<&ContainerSpec> {
14    extract_all_containers(pod_spec)
15}
16
17/// Extract only regular containers (not init containers).
18pub fn extract_containers(pod_spec: &PodSpec) -> Vec<&ContainerSpec> {
19    pod_spec.containers.iter().collect()
20}
21
22/// Alias for extract_containers.
23pub fn containers(pod_spec: &PodSpec) -> Vec<&ContainerSpec> {
24    extract_containers(pod_spec)
25}
26
27/// Extract only init containers.
28pub fn extract_init_containers(pod_spec: &PodSpec) -> Vec<&ContainerSpec> {
29    pod_spec.init_containers.iter().collect()
30}
31
32/// Alias for extract_init_containers.
33pub fn init_containers(pod_spec: &PodSpec) -> Vec<&ContainerSpec> {
34    extract_init_containers(pod_spec)
35}