From 406d5864ee9caf9c7a92c414c21bdf0fe2d88f64 Mon Sep 17 00:00:00 2001 From: Sergio Garcia <38561120+sergargar@users.noreply.github.com> Date: Mon, 28 Oct 2024 00:51:37 -0700 Subject: [PATCH] fix(kubernetes): handle input kube config file (#5502) --- .../providers/kubernetes/kubernetes_provider.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/prowler/providers/kubernetes/kubernetes_provider.py b/prowler/providers/kubernetes/kubernetes_provider.py index ece543ff5c..bd4b546ed6 100644 --- a/prowler/providers/kubernetes/kubernetes_provider.py +++ b/prowler/providers/kubernetes/kubernetes_provider.py @@ -185,13 +185,12 @@ class KubernetesProvider(Provider): ) else: + kubeconfig_file = ( + kubeconfig_file if kubeconfig_file else "~/.kube/config" + ) try: config.load_kube_config( - config_file=( - os.path.abspath(kubeconfig_file) - if kubeconfig_file != "~/.kube/config" - else os.path.expanduser(kubeconfig_file) - ), + config_file=kubeconfig_file, context=context, ) except ConfigException: @@ -209,12 +208,16 @@ class KubernetesProvider(Provider): api_client=client.ApiClient(), context=context ) if context: - contexts = config.list_kube_config_contexts()[0] + contexts = config.list_kube_config_contexts( + config_file=kubeconfig_file + )[0] for context_item in contexts: if context_item["name"] == context: context = context_item else: - context = config.list_kube_config_contexts()[1] + context = config.list_kube_config_contexts(config_file=kubeconfig_file)[ + 1 + ] return KubernetesSession(api_client=client.ApiClient(), context=context) except parser.ParserError as parser_error: