From 75e4aa0a8906da13abb79965a1427b71284b1161 Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 12 Aug 2020 20:07:15 +0300 Subject: [PATCH] reverted cluster-manager.ts/getClusterForRequest() Signed-off-by: Roman --- src/main/cluster-manager.ts | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/cluster-manager.ts b/src/main/cluster-manager.ts index c18ee3c556..af1e0d5657 100644 --- a/src/main/cluster-manager.ts +++ b/src/main/cluster-manager.ts @@ -4,6 +4,7 @@ import { autorun } from "mobx"; import { ClusterId, clusterStore } from "../common/cluster-store" import { Cluster } from "./cluster" import logger from "./logger"; +import { apiKubePrefix } from "../common/vars"; export class ClusterManager { constructor(public readonly port: number) { @@ -42,8 +43,23 @@ export class ClusterManager { } getClusterForRequest(req: http.IncomingMessage): Cluster { - logger.debug(`getClusterForRequest(): ${req.headers.host}${req.url}`) - const clusterId = req.headers.host.split(".")[0] - return this.getCluster(clusterId) + let cluster: Cluster = null + + // lens-server is connecting to 127.0.0.1:/ + if (req.headers.host.startsWith("127.0.0.1")) { + const clusterId = req.url.split("/")[1] + if (clusterId) { + cluster = this.getCluster(clusterId) + if (cluster) { + // we need to swap path prefix so that request is proxied to kube api + req.url = req.url.replace(`/${clusterId}`, apiKubePrefix) + } + } + } else { + const id = req.headers.host.split(".")[0] + cluster = this.getCluster(id) + } + + return cluster; } }