From 0cacdbe5cd08c12f5ccdb89983ed16560c143ffd Mon Sep 17 00:00:00 2001 From: Piotr Roszatycki Date: Fri, 7 Oct 2022 12:37:33 +0200 Subject: [PATCH] Clickable links in pods details Signed-off-by: Piotr Roszatycki --- .../k8s-api/endpoints/legacy-globals.ts | 18 ++++++++++ .../+workloads-pods/pod-details.tsx | 34 +++++++++++++++---- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/src/common/k8s-api/endpoints/legacy-globals.ts b/src/common/k8s-api/endpoints/legacy-globals.ts index b4355e720a..febaa8889a 100644 --- a/src/common/k8s-api/endpoints/legacy-globals.ts +++ b/src/common/k8s-api/endpoints/legacy-globals.ts @@ -11,9 +11,12 @@ import networkPolicyApiInjectable from "./network-policy.api.injectable"; import nodeApiInjectable from "./node.api.injectable"; import persistentVolumeClaimApiInjectable from "./persistent-volume-claim.api.injectable"; import podApiInjectable from "./pod.api.injectable"; +import priorityClassApiInjectable from "./priority-class.api.injectable"; import resourceQuotaApiInjectable from "./resource-quota.api.injectable"; import roleApiInjectable from "./role.api.injectable"; +import runtimeClassApiInjectable from "./runtime-class.api.injectable"; import secretApiInjectable from "./secret.api.injectable"; +import serviceAccountApiInjectable from "./service-account.api.injectable"; import serviceApiInjectable from "./service.api.injectable"; import storageClassApiInjectable from "./storage-class.api.injectable"; @@ -57,16 +60,31 @@ export const nodeApi = asLegacyGlobalForExtensionApi(nodeApiInjectable); */ export const persistentVolumeClaimApi = asLegacyGlobalForExtensionApi(persistentVolumeClaimApiInjectable); +/** + * @deprecated use `di.inject(priorityClassApiInjectable)` instead + */ +export const priorityClassApi = asLegacyGlobalForExtensionApi(priorityClassApiInjectable); + /** * @deprecated use `di.inject(resourceQuotaApiInjectable)` instead */ export const resourceQuotaApi = asLegacyGlobalForExtensionApi(resourceQuotaApiInjectable); +/** + * @deprecated use `di.inject(runtimeClassApiInjectable)` instead + */ +export const runtimeClassApi = asLegacyGlobalForExtensionApi(runtimeClassApiInjectable); + /** * @deprecated use `di.inject(secretApiInjectable)` instead */ export const secretApi = asLegacyGlobalForExtensionApi(secretApiInjectable); +/** + * @deprecated use `di.inject(serviceAccountApiInjectable)` instead + */ +export const serviceAccountApi = asLegacyGlobalForExtensionApi(serviceAccountApiInjectable); + /** * @deprecated use `di.inject(serviceApiInjectable)` instead */ diff --git a/src/renderer/components/+workloads-pods/pod-details.tsx b/src/renderer/components/+workloads-pods/pod-details.tsx index da87515355..63683f921c 100644 --- a/src/renderer/components/+workloads-pods/pod-details.tsx +++ b/src/renderer/components/+workloads-pods/pod-details.tsx @@ -10,11 +10,11 @@ import kebabCase from "lodash/kebabCase"; import { disposeOnUnmount, observer } from "mobx-react"; import { Link } from "react-router-dom"; import { observable, reaction, makeObservable } from "mobx"; -import type { NodeApi } from "../../../common/k8s-api/endpoints"; +import { NodeApi, priorityClassApi, runtimeClassApi, serviceAccountApi } from "../../../common/k8s-api/endpoints"; import { Pod } from "../../../common/k8s-api/endpoints"; import { DrawerItem, DrawerTitle } from "../drawer"; import { Badge } from "../badge"; -import { cssNames, toJS } from "../../utils"; +import { cssNames, stopPropagation, toJS } from "../../utils"; import { PodDetailsContainer } from "./pod-details-container"; import { PodDetailsAffinities } from "./pod-details-affinities"; import { PodDetailsTolerations } from "./pod-details-tolerations"; @@ -94,6 +94,20 @@ class NonInjectedPodDetails extends React.Component {!isMetricHidden && ( @@ -130,16 +144,22 @@ class NonInjectedPodDetails extends React.Component )} - {pod.getServiceAccountName()} + + {serviceAccountName} + -