INNER CODE UNIT · Rust
get_namespaces
kubie-org/kubie · src/kubectl.rs:9
pub fn get_namespaces<'a>(kubeconfig: impl Into<Option<&'a KubeConfig>>) -> anyhow::Result<Vec<String>> {
let mut cmd = Command::new("kubectl");
cmd.arg("get");
cmd.arg("namespaces");
let temp_config_file;
if let Some(kubeconfig) = kubeconfig.into() {
temp_config_file = tempfile::Builder::new()
.prefix("kubie-config")
.suffix(".yaml")
.tempfile()?;
kubeconfig.write_to_file(temp_config_file.path())?;
cmd.env("KUBECONFIG", temp_config_file.path());
} else {
cmd.env(
"KUBECONFIG",
env::var("KUBIE_KUBECONFIG").context("KUBIE_KUBECONFIG variable is not set")?,