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:
parent
e26641688f
commit
6633162dd7
@ -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);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -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}`,
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user