use yaml_rust2::YamlLoader;
use std::borrow::Cow;
use std::env;
use std::path;
use super::{Context, Module, ModuleConfig};
use crate::configs::kubernetes::KubernetesConfig;
use crate::formatter::StringFormatter;
use crate::utils;
#[derive(Default)]
struct KubeCtxComponents {
user: Option<String>,
namespace: Option<String>,
cluster: Option<String>,
}
fn get_current_kube_context_name(filename: path::PathBuf) -> Option<String> {
let contents = utils::read_file(filename).ok()?;
let yaml_docs = YamlLoader::load_from_str(&contents).ok()?;
let conf = yaml_docs.first()?;
conf["current-context"]
.as_str()
.filter(|s| !s.is_empty())
.map(String::from)
}
fn get_kube_ctx_components(
filename: path::PathBuf,
current_ctx_name: &str