From 6633162dd7e54035f90c1c981c1b32964702c025 Mon Sep 17 00:00:00 2001 From: Phillip LeBlanc Date: Fri, 1 Sep 2023 21:14:16 +0900 Subject: [PATCH] Use user's kubeconfig for cached auth tokens --- .../functionality/create-port-forward.injectable.ts | 4 ++-- .../main/routes/port-forward/functionality/port-forward.ts | 3 ++- .../port-forward/start-port-forward-route.injectable.ts | 7 +------ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/core/src/main/routes/port-forward/functionality/create-port-forward.injectable.ts b/packages/core/src/main/routes/port-forward/functionality/create-port-forward.injectable.ts index daeff5395f..10b9121f26 100644 --- a/packages/core/src/main/routes/port-forward/functionality/create-port-forward.injectable.ts +++ b/packages/core/src/main/routes/port-forward/functionality/create-port-forward.injectable.ts @@ -9,7 +9,7 @@ import bundledKubectlInjectable from "../../../kubectl/bundled-kubectl.injectabl import getPortFromStreamInjectable from "../../../utils/get-port-from-stream.injectable"; import { loggerInjectionToken } from "@k8slens/logger"; -export type CreatePortForward = (pathToKubeConfig: string, args: PortForwardArgs) => PortForward; +export type CreatePortForward = (pathToKubeConfig: string, kubeContext:string, args: PortForwardArgs) => PortForward; const createPortForwardInjectable = getInjectable({ id: "create-port-forward", @@ -21,7 +21,7 @@ const createPortForwardInjectable = getInjectable({ logger: di.inject(loggerInjectionToken), }; - return (pathToKubeConfig, args) => new PortForward(dependencies, pathToKubeConfig, args); + return (pathToKubeConfig, kubeContext, args) => new PortForward(dependencies, pathToKubeConfig, kubeContext, args); }, }); diff --git a/packages/core/src/main/routes/port-forward/functionality/port-forward.ts b/packages/core/src/main/routes/port-forward/functionality/port-forward.ts index 29c3838652..7ac79dd046 100644 --- a/packages/core/src/main/routes/port-forward/functionality/port-forward.ts +++ b/packages/core/src/main/routes/port-forward/functionality/port-forward.ts @@ -52,7 +52,7 @@ export class PortForward { public forwardPort: number; public httpsProxy?: string; - constructor(private dependencies: PortForwardDependencies, public pathToKubeConfig: string, args: PortForwardArgs) { + constructor(private dependencies: PortForwardDependencies, public pathToKubeConfig: string, public kubeContext: string, args: PortForwardArgs) { this.clusterId = args.clusterId; this.kind = args.kind; this.namespace = args.namespace; @@ -66,6 +66,7 @@ export class PortForward { const kubectlBin = await this.dependencies.getKubectlBinPath(true); const args = [ "--kubeconfig", this.pathToKubeConfig, + "--context", this.kubeContext, "port-forward", "-n", this.namespace, `${this.kind}/${this.name}`, diff --git a/packages/core/src/main/routes/port-forward/start-port-forward-route.injectable.ts b/packages/core/src/main/routes/port-forward/start-port-forward-route.injectable.ts index 3e47b56faf..32a10cdf78 100644 --- a/packages/core/src/main/routes/port-forward/start-port-forward-route.injectable.ts +++ b/packages/core/src/main/routes/port-forward/start-port-forward-route.injectable.ts @@ -8,7 +8,6 @@ import { PortForward } from "./functionality/port-forward"; import createPortForwardInjectable from "./functionality/create-port-forward.injectable"; import { clusterRoute } from "../../router/route"; import { loggerInjectionToken } from "@k8slens/logger"; -import kubeconfigManagerInjectable from "../../kubeconfig-manager/kubeconfig-manager.injectable"; const startPortForwardRouteInjectable = getRouteInjectable({ id: "start-current-port-forward-route", @@ -25,8 +24,6 @@ const startPortForwardRouteInjectable = getRouteInjectable({ const port = Number(query.get("port")); const forwardPort = Number(query.get("forwardPort")); - const proxyKubeconfigManager = di.inject(kubeconfigManagerInjectable, cluster); - try { let portForward = PortForward.getPortforward({ clusterId: cluster.id, @@ -46,9 +43,7 @@ const startPortForwardRouteInjectable = getRouteInjectable({ const thePort = 0 < forwardPort && forwardPort < 65536 ? forwardPort : 0; - const proxyKubeconfigPath = await proxyKubeconfigManager.ensurePath(); - - portForward = createPortForward(proxyKubeconfigPath, { + portForward = createPortForward(cluster.kubeConfigPath.get(), cluster.contextName.get(),{ clusterId: cluster.id, kind: resourceType, namespace,