diff --git a/src/common/cluster/cluster.ts b/src/common/cluster/cluster.ts index c8e7e69e90..d60ae07827 100644 --- a/src/common/cluster/cluster.ts +++ b/src/common/cluster/cluster.ts @@ -19,7 +19,7 @@ import { ClusterMetadataKey, initialNodeShellImage, ClusterStatus, clusterModelI import { disposer, isDefined, isRequestError, toJS } from "../utils"; import type { Response } from "request"; import { clusterListNamespaceForbiddenChannel } from "../ipc/cluster"; -import type { CanI } from "./authorization-review.injectable"; +import type { CreateAuthorizationReview } from "./create-authorization-review.injectable"; import type { ListNamespaces } from "./list-namespaces.injectable"; import assert from "assert"; import type { Logger } from "../logger"; @@ -35,7 +35,7 @@ export interface ClusterDependencies { createKubeconfigManager: (cluster: Cluster) => KubeconfigManager; createContextHandler: (cluster: Cluster) => ClusterContextHandler; createKubectl: (clusterVersion: string) => Kubectl; - createAuthorizationReview: (config: KubeConfig) => CanI; + createAuthorizationReview: CreateAuthorizationReview; requestApiResources: RequestApiResources; requestNamespaceListPermissionsFor: RequestNamespaceListPermissionsFor; createListNamespaces: (config: KubeConfig) => ListNamespaces; @@ -475,6 +475,7 @@ export class Cluster implements ClusterModel { resource: "*", verb: "create", }); + console.log("finished this.isAdmin"); this.isGlobalWatchEnabled = await canI({ verb: "watch", resource: "*", diff --git a/src/common/cluster/authorization-review.injectable.ts b/src/common/cluster/create-authorization-review.injectable.ts similarity index 85% rename from src/common/cluster/authorization-review.injectable.ts rename to src/common/cluster/create-authorization-review.injectable.ts index fe0bad62eb..1be387140c 100644 --- a/src/common/cluster/authorization-review.injectable.ts +++ b/src/common/cluster/create-authorization-review.injectable.ts @@ -19,11 +19,11 @@ export type CanI = (resourceAttributes: V1ResourceAttributes) => Promise CanI; +export type CreateAuthorizationReview = (proxyConfig: KubeConfig) => CanI; -const authorizationReviewInjectable = getInjectable({ - id: "authorization-review", - instantiate: (di): AuthorizationReview => { +const createAuthorizationReviewInjectable = getInjectable({ + id: "create-authorization-review", + instantiate: (di): CreateAuthorizationReview => { const logger = di.inject(loggerInjectable); const makeApiClient = di.inject(makeApiClientInjectable); @@ -49,4 +49,4 @@ const authorizationReviewInjectable = getInjectable({ }, }); -export default authorizationReviewInjectable; +export default createAuthorizationReviewInjectable; diff --git a/src/main/__test__/cluster.test.ts b/src/main/__test__/cluster.test.ts index d9e48fb3d9..263b1160a7 100644 --- a/src/main/__test__/cluster.test.ts +++ b/src/main/__test__/cluster.test.ts @@ -9,8 +9,8 @@ import { Kubectl } from "../kubectl/kubectl"; import { getDiForUnitTesting } from "../getDiForUnitTesting"; import type { CreateCluster } from "../../common/cluster/create-cluster-injection-token"; import { createClusterInjectionToken } from "../../common/cluster/create-cluster-injection-token"; -import authorizationReviewInjectable from "../../common/cluster/authorization-review.injectable"; import requestNamespaceListPermissionsForInjectable from "../../common/cluster/request-namespace-list-permissions.injectable"; +import createAuthorizationReviewInjectable from "../../common/cluster/create-authorization-review.injectable"; import listNamespacesInjectable from "../../common/cluster/list-namespaces.injectable"; import createContextHandlerInjectable from "../context-handler/create-context-handler.injectable"; import type { ClusterContextHandler } from "../context-handler/context-handler"; @@ -43,8 +43,8 @@ describe("create clusters", () => { di.override(kubectlDownloadingNormalizedArchInjectable, () => "amd64"); di.override(normalizedPlatformInjectable, () => "darwin"); di.override(broadcastMessageInjectable, () => async () => {}); - di.override(authorizationReviewInjectable, () => () => () => Promise.resolve(true)); di.override(requestNamespaceListPermissionsForInjectable, () => () => async () => () => true); + di.override(createAuthorizationReviewInjectable, () => () => () => Promise.resolve(true)); di.override(listNamespacesInjectable, () => () => () => Promise.resolve([ "default" ])); di.override(createContextHandlerInjectable, () => (cluster) => ({ restartServer: jest.fn(), diff --git a/src/main/create-cluster/create-cluster.injectable.ts b/src/main/create-cluster/create-cluster.injectable.ts index 760e8e2e75..86ae7011b0 100644 --- a/src/main/create-cluster/create-cluster.injectable.ts +++ b/src/main/create-cluster/create-cluster.injectable.ts @@ -10,7 +10,7 @@ import createKubeconfigManagerInjectable from "../kubeconfig-manager/create-kube import createKubectlInjectable from "../kubectl/create-kubectl.injectable"; import createContextHandlerInjectable from "../context-handler/create-context-handler.injectable"; import { createClusterInjectionToken } from "../../common/cluster/create-cluster-injection-token"; -import authorizationReviewInjectable from "../../common/cluster/authorization-review.injectable"; +import createAuthorizationReviewInjectable from "../../common/cluster/create-authorization-review.injectable"; import listNamespacesInjectable from "../../common/cluster/list-namespaces.injectable"; import createListApiResourcesInjectable from "../cluster/request-api-resources.injectable"; import loggerInjectable from "../../common/logger.injectable"; @@ -29,7 +29,7 @@ const createClusterInjectable = getInjectable({ createKubeconfigManager: di.inject(createKubeconfigManagerInjectable), createKubectl: di.inject(createKubectlInjectable), createContextHandler: di.inject(createContextHandlerInjectable), - createAuthorizationReview: di.inject(authorizationReviewInjectable), + createAuthorizationReview: di.inject(createAuthorizationReviewInjectable), requestNamespaceListPermissionsFor: di.inject(requestNamespaceListPermissionsForInjectable), requestApiResources: di.inject(createListApiResourcesInjectable), createListNamespaces: di.inject(listNamespacesInjectable),