From fa607dede80c8bd558d9d1aa8b929a4701336bc7 Mon Sep 17 00:00:00 2001 From: Rami Daghlawi Date: Sat, 19 Oct 2024 15:50:19 +0200 Subject: [PATCH] handle output of default namespace change --- scripts/fish/functions/knd.fish | 3 ++- scripts/sh/kubesess.sh | 2 +- src/modes.rs | 16 +++++++++++++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/scripts/fish/functions/knd.fish b/scripts/fish/functions/knd.fish index d1094ad..975f380 100644 --- a/scripts/fish/functions/knd.fish +++ b/scripts/fish/functions/knd.fish @@ -3,5 +3,6 @@ function knd --argument-names context --description "Switch global kubernetes na if test -n "$argv" set -a cmd -v $context end - command $cmd + set -l config (command $cmd) || return $status + set -gx KUBECONFIG $config end diff --git a/scripts/sh/kubesess.sh b/scripts/sh/kubesess.sh index 333f9dd..894d89f 100644 --- a/scripts/sh/kubesess.sh +++ b/scripts/sh/kubesess.sh @@ -19,5 +19,5 @@ kn() { } knd() { - kubesess ${1:+"-v "$1} default-namespace; + __kubesess_export ${1:+"-v "$1} default-namespace } diff --git a/src/modes.rs b/src/modes.rs index c4933cf..99b2f22 100644 --- a/src/modes.rs +++ b/src/modes.rs @@ -133,8 +133,11 @@ pub fn namespace(args: Cli) -> Result<(), Error> { } pub fn default_namespace(args: Cli) -> Result<(), Error> { - let config = config::get(); - let ctx = commands::get_current_context(); + let config = config::get_current_session(); + let ctx = &config + .current_context + .as_deref() + .unwrap_or("No current context set"); if args.current { if let Some(ctx) = config.contexts.iter().find(|x| { @@ -168,7 +171,14 @@ pub fn default_namespace(args: Cli) -> Result<(), Error> { }; commands::set_default_namespace(&ns, &ctx); - commands::set_namespace(&ctx, &ns, &DEST, &config); + let result = commands::set_namespace(&ctx, &ns, &DEST, &config); + println!( + "{}/{}:{}", + &DEST.as_str(), + str::replace(&result, ":", "_"), + *KUBECONFIG + ); + Ok(()) }