1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Use user's kubeconfig for cached auth tokens

This commit is contained in:
Phillip LeBlanc 2023-09-01 21:14:16 +09:00
parent e26641688f
commit 6633162dd7
3 changed files with 5 additions and 9 deletions

View File

@ -9,7 +9,7 @@ import bundledKubectlInjectable from "../../../kubectl/bundled-kubectl.injectabl
import getPortFromStreamInjectable from "../../../utils/get-port-from-stream.injectable"; import getPortFromStreamInjectable from "../../../utils/get-port-from-stream.injectable";
import { loggerInjectionToken } from "@k8slens/logger"; 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({ const createPortForwardInjectable = getInjectable({
id: "create-port-forward", id: "create-port-forward",
@ -21,7 +21,7 @@ const createPortForwardInjectable = getInjectable({
logger: di.inject(loggerInjectionToken), logger: di.inject(loggerInjectionToken),
}; };
return (pathToKubeConfig, args) => new PortForward(dependencies, pathToKubeConfig, args); return (pathToKubeConfig, kubeContext, args) => new PortForward(dependencies, pathToKubeConfig, kubeContext, args);
}, },
}); });

View File

@ -52,7 +52,7 @@ export class PortForward {
public forwardPort: number; public forwardPort: number;
public httpsProxy?: string; 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.clusterId = args.clusterId;
this.kind = args.kind; this.kind = args.kind;
this.namespace = args.namespace; this.namespace = args.namespace;
@ -66,6 +66,7 @@ export class PortForward {
const kubectlBin = await this.dependencies.getKubectlBinPath(true); const kubectlBin = await this.dependencies.getKubectlBinPath(true);
const args = [ const args = [
"--kubeconfig", this.pathToKubeConfig, "--kubeconfig", this.pathToKubeConfig,
"--context", this.kubeContext,
"port-forward", "port-forward",
"-n", this.namespace, "-n", this.namespace,
`${this.kind}/${this.name}`, `${this.kind}/${this.name}`,

View File

@ -8,7 +8,6 @@ import { PortForward } from "./functionality/port-forward";
import createPortForwardInjectable from "./functionality/create-port-forward.injectable"; import createPortForwardInjectable from "./functionality/create-port-forward.injectable";
import { clusterRoute } from "../../router/route"; import { clusterRoute } from "../../router/route";
import { loggerInjectionToken } from "@k8slens/logger"; import { loggerInjectionToken } from "@k8slens/logger";
import kubeconfigManagerInjectable from "../../kubeconfig-manager/kubeconfig-manager.injectable";
const startPortForwardRouteInjectable = getRouteInjectable({ const startPortForwardRouteInjectable = getRouteInjectable({
id: "start-current-port-forward-route", id: "start-current-port-forward-route",
@ -25,8 +24,6 @@ const startPortForwardRouteInjectable = getRouteInjectable({
const port = Number(query.get("port")); const port = Number(query.get("port"));
const forwardPort = Number(query.get("forwardPort")); const forwardPort = Number(query.get("forwardPort"));
const proxyKubeconfigManager = di.inject(kubeconfigManagerInjectable, cluster);
try { try {
let portForward = PortForward.getPortforward({ let portForward = PortForward.getPortforward({
clusterId: cluster.id, clusterId: cluster.id,
@ -46,9 +43,7 @@ const startPortForwardRouteInjectable = getRouteInjectable({
const thePort = 0 < forwardPort && forwardPort < 65536 const thePort = 0 < forwardPort && forwardPort < 65536
? forwardPort ? forwardPort
: 0; : 0;
const proxyKubeconfigPath = await proxyKubeconfigManager.ensurePath(); portForward = createPortForward(cluster.kubeConfigPath.get(), cluster.contextName.get(),{
portForward = createPortForward(proxyKubeconfigPath, {
clusterId: cluster.id, clusterId: cluster.id,
kind: resourceType, kind: resourceType,
namespace, namespace,