mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
chore: Fix type errors with KubeObjectDetails
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
d8d6403b32
commit
f3b1bc565c
@ -9,41 +9,32 @@ import React from "react";
|
|||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { DrawerItem } from "../drawer";
|
import { DrawerItem } from "../drawer";
|
||||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||||
import { Lease } from "@k8slens/kube-object";
|
import type { Lease } from "@k8slens/kube-object";
|
||||||
|
|
||||||
@observer
|
export const LeaseDetails = observer((props: KubeObjectDetailsProps) => {
|
||||||
export class LeaseDetails extends React.Component<KubeObjectDetailsProps> {
|
const lease = props.object as Lease;
|
||||||
|
|
||||||
render() {
|
return (
|
||||||
const { object: lease } = this.props;
|
<div className="LeaseDetails">
|
||||||
|
<DrawerItem name="Holder Identity">
|
||||||
|
{lease.getHolderIdentity()}
|
||||||
|
</DrawerItem>
|
||||||
|
|
||||||
if (!(lease instanceof Lease)) {
|
<DrawerItem name="Lease Duration Seconds">
|
||||||
return null;
|
{lease.getLeaseDurationSeconds()}
|
||||||
}
|
</DrawerItem>
|
||||||
|
|
||||||
return (
|
<DrawerItem name="Lease Transitions" hidden={lease.getLeaseTransitions() === undefined}>
|
||||||
<div className="LeaseDetails">
|
{lease.getLeaseTransitions()}
|
||||||
<DrawerItem name="Holder Identity">
|
</DrawerItem>
|
||||||
{lease.getHolderIdentity()}
|
|
||||||
</DrawerItem>
|
|
||||||
|
|
||||||
<DrawerItem name="Lease Duration Seconds">
|
<DrawerItem name="Acquire Time" hidden={lease.getAcquireTime() === ""}>
|
||||||
{lease.getLeaseDurationSeconds()}
|
{lease.getAcquireTime()}
|
||||||
</DrawerItem>
|
</DrawerItem>
|
||||||
|
|
||||||
<DrawerItem name="Lease Transitions" hidden={lease.getLeaseTransitions() === undefined}>
|
<DrawerItem name="Renew Time">
|
||||||
{lease.getLeaseTransitions()}
|
{lease.getRenewTime()}
|
||||||
</DrawerItem>
|
</DrawerItem>
|
||||||
|
</div >
|
||||||
<DrawerItem name="Acquire Time" hidden={lease.getAcquireTime() === ""}>
|
);
|
||||||
{lease.getAcquireTime()}
|
});
|
||||||
</DrawerItem>
|
|
||||||
|
|
||||||
<DrawerItem name="Renew Time">
|
|
||||||
{lease.getRenewTime()}
|
|
||||||
</DrawerItem>
|
|
||||||
|
|
||||||
</div >
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -6,31 +6,24 @@ import React from "react";
|
|||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { DrawerItem, DrawerTitle } from "../drawer";
|
import { DrawerItem, DrawerTitle } from "../drawer";
|
||||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||||
import { MutatingWebhookConfiguration } from "@k8slens/kube-object";
|
import type { MutatingWebhookConfiguration } from "@k8slens/kube-object";
|
||||||
import { WebhookConfig } from "./webhook-config";
|
import { WebhookConfig } from "./webhook-config";
|
||||||
|
|
||||||
@observer
|
export const MutatingWebhookDetails = observer((props: KubeObjectDetailsProps) => {
|
||||||
export class MutatingWebhookDetails extends React.Component<KubeObjectDetailsProps> {
|
const webhookConfig = props.object as MutatingWebhookConfiguration;
|
||||||
render() {
|
|
||||||
const { object: webhookConfig } = this.props;
|
|
||||||
|
|
||||||
if (!(webhookConfig instanceof MutatingWebhookConfiguration)) {
|
return (
|
||||||
return null;
|
<div className="MutatingWebhookDetails">
|
||||||
}
|
<DrawerItem name="API version">
|
||||||
|
{webhookConfig.apiVersion}
|
||||||
return (
|
</DrawerItem>
|
||||||
<div className="MutatingWebhookDetails">
|
<DrawerTitle>Webhooks</DrawerTitle>
|
||||||
<DrawerItem name="API version">
|
{webhookConfig.getWebhooks()?.length == 0 && (
|
||||||
{webhookConfig.apiVersion}
|
<div style={{ opacity: 0.6 }}>No webhooks set</div>
|
||||||
</DrawerItem>
|
)}
|
||||||
<DrawerTitle>Webhooks</DrawerTitle>
|
{webhookConfig.getWebhooks()?.map((webhook) => (
|
||||||
{webhookConfig.getWebhooks()?.length == 0 && (
|
<WebhookConfig webhook={webhook} key={webhook.name} />
|
||||||
<div style={{ opacity: 0.6 }}>No webhooks set</div>
|
))}
|
||||||
)}
|
</div >
|
||||||
{webhookConfig.getWebhooks()?.map((webhook) => (
|
);
|
||||||
<WebhookConfig webhook={webhook} key={webhook.name} />
|
});
|
||||||
))}
|
|
||||||
</div >
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -10,20 +10,11 @@ import { observer } from "mobx-react";
|
|||||||
import { DrawerItem } from "../drawer";
|
import { DrawerItem } from "../drawer";
|
||||||
import { Badge } from "../badge";
|
import { Badge } from "../badge";
|
||||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||||
import { PodDisruptionBudget } from "@k8slens/kube-object";
|
import type { PodDisruptionBudget } from "@k8slens/kube-object";
|
||||||
|
|
||||||
export const PodDisruptionBudgetDetails = observer((props: KubeObjectDetailsProps) => {
|
export const PodDisruptionBudgetDetails = observer((props: KubeObjectDetailsProps) => {
|
||||||
const { object: pdb } = props;
|
const podDisruptionBudget = props.object as PodDisruptionBudget;
|
||||||
|
const selectors = podDisruptionBudget.getSelectors();
|
||||||
if (!pdb) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(pdb instanceof PodDisruptionBudget)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const selectors = pdb.getSelectors();
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="PdbDetails">
|
<div className="PdbDetails">
|
||||||
@ -34,21 +25,20 @@ export const PodDisruptionBudgetDetails = observer((props: KubeObjectDetailsProp
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
<DrawerItem name="Min Available">
|
<DrawerItem name="Min Available">
|
||||||
{pdb.getMinAvailable()}
|
{podDisruptionBudget.getMinAvailable()}
|
||||||
</DrawerItem>
|
</DrawerItem>
|
||||||
|
|
||||||
<DrawerItem name="Max Unavailable">
|
<DrawerItem name="Max Unavailable">
|
||||||
{pdb.getMaxUnavailable()}
|
{podDisruptionBudget.getMaxUnavailable()}
|
||||||
</DrawerItem>
|
</DrawerItem>
|
||||||
|
|
||||||
<DrawerItem name="Current Healthy">
|
<DrawerItem name="Current Healthy">
|
||||||
{pdb.getCurrentHealthy()}
|
{podDisruptionBudget.getCurrentHealthy()}
|
||||||
</DrawerItem>
|
</DrawerItem>
|
||||||
|
|
||||||
<DrawerItem name="Desired Healthy">
|
<DrawerItem name="Desired Healthy">
|
||||||
{pdb.getDesiredHealthy()}
|
{podDisruptionBudget.getDesiredHealthy()}
|
||||||
</DrawerItem>
|
</DrawerItem>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -9,35 +9,24 @@ import React from "react";
|
|||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { DrawerItem } from "../drawer";
|
import { DrawerItem } from "../drawer";
|
||||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||||
import { PriorityClass } from "@k8slens/kube-object";
|
import type { PriorityClass } from "@k8slens/kube-object";
|
||||||
|
|
||||||
@observer
|
export const PriorityClassesDetails = observer((props: KubeObjectDetailsProps) => {
|
||||||
export class PriorityClassesDetails extends React.Component<KubeObjectDetailsProps> {
|
const priorityClass = props.object as PriorityClass;
|
||||||
render() {
|
|
||||||
const { object: pc } = this.props;
|
|
||||||
|
|
||||||
if (!pc) {
|
return (
|
||||||
return null;
|
<div className="PriorityClassesDetails">
|
||||||
}
|
<DrawerItem name="Description">
|
||||||
|
{priorityClass.getDescription()}
|
||||||
|
</DrawerItem>
|
||||||
|
|
||||||
if (!(pc instanceof PriorityClass)) {
|
<DrawerItem name="Value">
|
||||||
return null;
|
{priorityClass.getValue()}
|
||||||
}
|
</DrawerItem>
|
||||||
|
|
||||||
return (
|
<DrawerItem name="Global Default">
|
||||||
<div className="PriorityClassesDetails">
|
{priorityClass.getGlobalDefault()}
|
||||||
<DrawerItem name="Description">
|
</DrawerItem>
|
||||||
{pc.getDescription()}
|
</div>
|
||||||
</DrawerItem>
|
);
|
||||||
|
});
|
||||||
<DrawerItem name="Value">
|
|
||||||
{pc.getValue()}
|
|
||||||
</DrawerItem>
|
|
||||||
|
|
||||||
<DrawerItem name="Global Default">
|
|
||||||
{pc.getGlobalDefault()}
|
|
||||||
</DrawerItem>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -9,43 +9,31 @@ import React from "react";
|
|||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { DrawerItem } from "../drawer";
|
import { DrawerItem } from "../drawer";
|
||||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||||
import { RuntimeClass } from "@k8slens/kube-object";
|
import type { RuntimeClass } from "@k8slens/kube-object";
|
||||||
import { Badge } from "../badge";
|
import { Badge } from "../badge";
|
||||||
import { RuntimeClassDetailsTolerations } from "./runtime-classes-details-tolerations";
|
import { RuntimeClassDetailsTolerations } from "./runtime-classes-details-tolerations";
|
||||||
|
|
||||||
@observer
|
export type RuntimeClassesDetailsProps = KubeObjectDetailsProps<RuntimeClass>;
|
||||||
export class RuntimeClassesDetails extends React.Component<KubeObjectDetailsProps> {
|
|
||||||
|
|
||||||
render() {
|
export const RuntimeClassesDetails = observer((props: KubeObjectDetailsProps) => {
|
||||||
const { object: rc } = this.props;
|
const runtimeClass = props.object as RuntimeClass;
|
||||||
|
const nodeSelector = runtimeClass.getNodeSelectors();
|
||||||
|
|
||||||
if (!rc) {
|
return (
|
||||||
return null;
|
<div className="RuntimeClassesDetails">
|
||||||
}
|
<DrawerItem name="Handler">
|
||||||
|
{runtimeClass.getHandler()}
|
||||||
|
</DrawerItem>
|
||||||
|
|
||||||
if (!(rc instanceof RuntimeClass)) {
|
<DrawerItem name="Pod Fixed" hidden={runtimeClass.getPodFixed() === ""}>
|
||||||
return null;
|
{runtimeClass.getPodFixed()}
|
||||||
}
|
</DrawerItem>
|
||||||
|
|
||||||
const nodeSelector = rc.getNodeSelectors();
|
<DrawerItem name="Node Selector" hidden={nodeSelector.length === 0}>
|
||||||
|
{nodeSelector.map(label => <Badge key={label} label={label} />)}
|
||||||
|
</DrawerItem>
|
||||||
|
|
||||||
return (
|
<RuntimeClassDetailsTolerations runtimeClass={runtimeClass} />
|
||||||
<div className="RuntimeClassesDetails">
|
</div>
|
||||||
<DrawerItem name="Handler">
|
);
|
||||||
{rc.getHandler()}
|
});
|
||||||
</DrawerItem>
|
|
||||||
|
|
||||||
<DrawerItem name="Pod Fixed" hidden={rc.getPodFixed() === ""}>
|
|
||||||
{rc.getPodFixed()}
|
|
||||||
</DrawerItem>
|
|
||||||
|
|
||||||
<DrawerItem name="Node Selector" hidden={nodeSelector.length === 0}>
|
|
||||||
{nodeSelector.map(label => <Badge key={label} label={label} />)}
|
|
||||||
</DrawerItem>
|
|
||||||
|
|
||||||
<RuntimeClassDetailsTolerations runtimeClass={rc} />
|
|
||||||
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -2,20 +2,14 @@
|
|||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
|
||||||
import { RuntimeClasses } from "./runtime-classes";
|
import { RuntimeClasses } from "./runtime-classes";
|
||||||
import runtimeClassesRouteInjectable from "../../../common/front-end-routing/routes/cluster/config/runtime-classes/runtime-classes-route.injectable";
|
import runtimeClassesRouteInjectable from "../../../common/front-end-routing/routes/cluster/config/runtime-classes/runtime-classes-route.injectable";
|
||||||
import { routeSpecificComponentInjectionToken } from "../../routes/route-specific-component-injection-token";
|
import { getRouteSpecificComponentInjectable } from "../../routes/route-specific-component-injection-token";
|
||||||
|
|
||||||
const runtimeClassesRouteComponentInjectable = getInjectable({
|
const runtimeClassesRouteComponentInjectable = getRouteSpecificComponentInjectable({
|
||||||
id: "runtime-classes-route-component",
|
id: "runtime-classes-route-component",
|
||||||
|
routeInjectable: runtimeClassesRouteInjectable,
|
||||||
instantiate: (di) => ({
|
Component: RuntimeClasses,
|
||||||
route: di.inject(runtimeClassesRouteInjectable),
|
|
||||||
Component: RuntimeClasses,
|
|
||||||
}),
|
|
||||||
|
|
||||||
injectionToken: routeSpecificComponentInjectionToken,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export default runtimeClassesRouteComponentInjectable;
|
export default runtimeClassesRouteComponentInjectable;
|
||||||
|
|||||||
@ -7,34 +7,23 @@ import { observer } from "mobx-react";
|
|||||||
import { DrawerItem, DrawerTitle } from "../drawer";
|
import { DrawerItem, DrawerTitle } from "../drawer";
|
||||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||||
import { WebhookConfig } from "../config-mutating-webhook-configurations/webhook-config";
|
import { WebhookConfig } from "../config-mutating-webhook-configurations/webhook-config";
|
||||||
import { ValidatingWebhookConfiguration } from "@k8slens/kube-object";
|
import type { ValidatingWebhookConfiguration } from "@k8slens/kube-object";
|
||||||
|
|
||||||
@observer
|
export const ValidatingWebhookDetails = observer((props: KubeObjectDetailsProps) => {
|
||||||
export class ValidatingWebhookDetails extends React.Component<KubeObjectDetailsProps> {
|
const webhookConfig = props.object as ValidatingWebhookConfiguration;
|
||||||
render() {
|
|
||||||
const { object: webhookConfig } = this.props;
|
|
||||||
|
|
||||||
if (!webhookConfig) {
|
return (
|
||||||
return null;
|
<div className="ValidatingWebhookDetails">
|
||||||
}
|
<DrawerItem name="API version">
|
||||||
|
{webhookConfig.apiVersion}
|
||||||
if (!(webhookConfig instanceof ValidatingWebhookConfiguration)) {
|
</DrawerItem>
|
||||||
return null;
|
<DrawerTitle>Webhooks</DrawerTitle>
|
||||||
}
|
{webhookConfig.getWebhooks()?.length == 0 && (
|
||||||
|
<div style={{ opacity: 0.6 }}>No webhooks set</div>
|
||||||
return (
|
)}
|
||||||
<div className="ValidatingWebhookDetails">
|
{webhookConfig.getWebhooks()?.map((webhook) => (
|
||||||
<DrawerItem name="API version">
|
<WebhookConfig webhook={webhook} key={webhook.name} />
|
||||||
{webhookConfig.apiVersion}
|
))}
|
||||||
</DrawerItem>
|
</div >
|
||||||
<DrawerTitle>Webhooks</DrawerTitle>
|
);
|
||||||
{webhookConfig.getWebhooks()?.length == 0 && (
|
});
|
||||||
<div style={{ opacity: 0.6 }}>No webhooks set</div>
|
|
||||||
)}
|
|
||||||
{webhookConfig.getWebhooks()?.map((webhook) => (
|
|
||||||
<WebhookConfig webhook={webhook} key={webhook.name} />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ClusterRoleBindingDetails } from "../../../user-management/cluster-role-bindings";
|
import { ClusterRoleBindingDetails } from "../../../user-management/cluster-role-bindings";
|
||||||
@ -19,7 +20,7 @@ const clusterRoleBindingDetailItemInjectable = getInjectable({
|
|||||||
Component: ClusterRoleBindingDetails,
|
Component: ClusterRoleBindingDetails,
|
||||||
enabled: computed(() => isClusterRoleBinding(kubeObject.value.get()?.object)),
|
enabled: computed(() => isClusterRoleBinding(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ConfigMapDetails } from "../../../config-maps";
|
import { ConfigMapDetails } from "../../../config-maps";
|
||||||
@ -19,7 +20,7 @@ const configMapDetailItemInjectable = getInjectable({
|
|||||||
Component: ConfigMapDetails,
|
Component: ConfigMapDetails,
|
||||||
enabled: computed(() => isConfigMap(kubeObject.value.get()?.object)),
|
enabled: computed(() => isConfigMap(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { CronJobDetails } from "../../../workloads-cronjobs";
|
import { CronJobDetails } from "../../../workloads-cronjobs";
|
||||||
@ -19,7 +20,7 @@ const cronJobDetailItemInjectable = getInjectable({
|
|||||||
Component: CronJobDetails,
|
Component: CronJobDetails,
|
||||||
enabled: computed(() => isCronJob(kubeObject.value.get()?.object)),
|
enabled: computed(() => isCronJob(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { CustomResourceDefinitionDetails } from "../../../custom-resource-definitions/details";
|
import { CustomResourceDefinitionDetails } from "../../../custom-resource-definitions/details";
|
||||||
@ -19,7 +20,7 @@ const customResourceDefinitionsDetailItemInjectable = getInjectable({
|
|||||||
Component: CustomResourceDefinitionDetails,
|
Component: CustomResourceDefinitionDetails,
|
||||||
enabled: computed(() => isCustomResourceDefinition(kubeObject.value.get()?.object)),
|
enabled: computed(() => isCustomResourceDefinition(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { DaemonSetDetails } from "../../../workloads-daemonsets";
|
import { DaemonSetDetails } from "../../../workloads-daemonsets";
|
||||||
@ -19,7 +20,7 @@ const daemonSetDetailItemInjectable = getInjectable({
|
|||||||
Component: DaemonSetDetails,
|
Component: DaemonSetDetails,
|
||||||
enabled: computed(() => isDaemonSet(kubeObject.value.get()?.object)),
|
enabled: computed(() => isDaemonSet(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { DeploymentDetails } from "../../../workloads-deployments";
|
import { DeploymentDetails } from "../../../workloads-deployments";
|
||||||
@ -19,7 +20,7 @@ const deploymentDetailItemInjectable = getInjectable({
|
|||||||
Component: DeploymentDetails,
|
Component: DeploymentDetails,
|
||||||
enabled: computed(() => isDeployment(kubeObject.value.get()?.object)),
|
enabled: computed(() => isDeployment(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { EndpointsDetails } from "../../../network-endpoints";
|
import { EndpointsDetails } from "../../../network-endpoints";
|
||||||
@ -19,7 +20,7 @@ const endpointsDetailItemInjectable = getInjectable({
|
|||||||
Component: EndpointsDetails,
|
Component: EndpointsDetails,
|
||||||
enabled: computed(() => isEndpoint(kubeObject.value.get()?.object)),
|
enabled: computed(() => isEndpoint(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { EventDetails } from "../../../events";
|
import { EventDetails } from "../../../events";
|
||||||
@ -19,7 +20,7 @@ const eventsDetailItemInjectable = getInjectable({
|
|||||||
Component: EventDetails,
|
Component: EventDetails,
|
||||||
enabled: computed(() => isEvent(kubeObject.value.get()?.object)),
|
enabled: computed(() => isEvent(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { HorizontalPodAutoscalerDetails } from "../../../config-horizontal-pod-autoscalers";
|
import { HorizontalPodAutoscalerDetails } from "../../../config-horizontal-pod-autoscalers";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
@ -19,7 +20,7 @@ const horizontalPodAutoscalerDetailItemInjectable = getInjectable({
|
|||||||
Component: HorizontalPodAutoscalerDetails,
|
Component: HorizontalPodAutoscalerDetails,
|
||||||
enabled: computed(() => isHorizontalPodAutoscaler(kubeObject.value.get()?.object)),
|
enabled: computed(() => isHorizontalPodAutoscaler(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { IngressDetails } from "../../../network-ingresses";
|
import { IngressDetails } from "../../../network-ingresses";
|
||||||
@ -19,7 +20,7 @@ const ingressDetailItemInjectable = getInjectable({
|
|||||||
Component: IngressDetails,
|
Component: IngressDetails,
|
||||||
enabled: computed(() => isIngress(kubeObject.value.get()?.object)),
|
enabled: computed(() => isIngress(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { JobDetails } from "../../../workloads-jobs";
|
import { JobDetails } from "../../../workloads-jobs";
|
||||||
@ -19,7 +20,7 @@ const jobDetailItemInjectable = getInjectable({
|
|||||||
Component: JobDetails,
|
Component: JobDetails,
|
||||||
enabled: computed(() => isJob(kubeObject.value.get()?.object)),
|
enabled: computed(() => isJob(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { LimitRangeDetails } from "../../../config-limit-ranges";
|
import { LimitRangeDetails } from "../../../config-limit-ranges";
|
||||||
@ -19,7 +20,7 @@ const limitRangeDetailItemInjectable = getInjectable({
|
|||||||
Component: LimitRangeDetails,
|
Component: LimitRangeDetails,
|
||||||
enabled: computed(() => isLimitRange(kubeObject.value.get()?.object)),
|
enabled: computed(() => isLimitRange(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { NamespaceDetails } from "../../../namespaces";
|
import { NamespaceDetails } from "../../../namespaces";
|
||||||
@ -19,7 +20,7 @@ const namespacesDetailItemInjectable = getInjectable({
|
|||||||
Component: NamespaceDetails,
|
Component: NamespaceDetails,
|
||||||
enabled: computed(() => isNamespace(kubeObject.value.get()?.object)),
|
enabled: computed(() => isNamespace(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { NetworkPolicyDetails } from "../../../network-policies";
|
import { NetworkPolicyDetails } from "../../../network-policies";
|
||||||
@ -19,7 +20,7 @@ const networkPolicyDetailItemInjectable = getInjectable({
|
|||||||
Component: NetworkPolicyDetails,
|
Component: NetworkPolicyDetails,
|
||||||
enabled: computed(() => isNetworkPolicy(kubeObject.value.get()?.object)),
|
enabled: computed(() => isNetworkPolicy(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { NodeDetails } from "../../../nodes/details";
|
import { NodeDetails } from "../../../nodes/details";
|
||||||
@ -19,7 +20,7 @@ const nodeDetailItemInjectable = getInjectable({
|
|||||||
Component: NodeDetails,
|
Component: NodeDetails,
|
||||||
enabled: computed(() => isNode(kubeObject.value.get()?.object)),
|
enabled: computed(() => isNode(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PersistentVolumeClaimDetails } from "../../../storage-volume-claims";
|
import { PersistentVolumeClaimDetails } from "../../../storage-volume-claims";
|
||||||
@ -19,7 +20,7 @@ const persistentVolumeClaimDetailItemInjectable = getInjectable({
|
|||||||
Component: PersistentVolumeClaimDetails,
|
Component: PersistentVolumeClaimDetails,
|
||||||
enabled: computed(() => isPersistentVolumeClaim(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPersistentVolumeClaim(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PersistentVolumeDetails } from "../../../storage-volumes";
|
import { PersistentVolumeDetails } from "../../../storage-volumes";
|
||||||
@ -19,7 +20,7 @@ const persistentVolumeDetailItemInjectable = getInjectable({
|
|||||||
Component: PersistentVolumeDetails,
|
Component: PersistentVolumeDetails,
|
||||||
enabled: computed(() => isPersistentVolume(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPersistentVolume(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PodDetails } from "../../../workloads-pods";
|
import { PodDetails } from "../../../workloads-pods";
|
||||||
@ -19,7 +20,7 @@ const podDetailItemInjectable = getInjectable({
|
|||||||
Component: PodDetails,
|
Component: PodDetails,
|
||||||
enabled: computed(() => isPod(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPod(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PodSecurityPolicyDetails } from "../../../pod-security-policies";
|
import { PodSecurityPolicyDetails } from "../../../pod-security-policies";
|
||||||
@ -19,7 +20,7 @@ const podSecurityPolicyDetailItemInjectable = getInjectable({
|
|||||||
Component: PodSecurityPolicyDetails,
|
Component: PodSecurityPolicyDetails,
|
||||||
enabled: computed(() => isPodSecurityPolicy(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPodSecurityPolicy(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ReplicaSetDetails } from "../../../workloads-replicasets";
|
import { ReplicaSetDetails } from "../../../workloads-replicasets";
|
||||||
@ -19,7 +20,7 @@ const replicaSetDetailItemInjectable = getInjectable({
|
|||||||
Component: ReplicaSetDetails,
|
Component: ReplicaSetDetails,
|
||||||
enabled: computed(() => isReplicaSet(kubeObject.value.get()?.object)),
|
enabled: computed(() => isReplicaSet(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
@ -19,7 +20,7 @@ const replicationControllerDetailItemInjectable = getInjectable({
|
|||||||
Component: ReplicationControllerDetails,
|
Component: ReplicationControllerDetails,
|
||||||
enabled: computed(() => isReplicationController(kubeObject.value.get()?.object)),
|
enabled: computed(() => isReplicationController(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ResourceQuotaDetails } from "../../../config-resource-quotas";
|
import { ResourceQuotaDetails } from "../../../config-resource-quotas";
|
||||||
@ -19,7 +20,7 @@ const resourceQuotaDetailItemInjectable = getInjectable({
|
|||||||
Component: ResourceQuotaDetails,
|
Component: ResourceQuotaDetails,
|
||||||
enabled: computed(() => isResourceQuota(kubeObject.value.get()?.object)),
|
enabled: computed(() => isResourceQuota(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { RoleBindingDetails } from "../../../user-management/role-bindings";
|
import { RoleBindingDetails } from "../../../user-management/role-bindings";
|
||||||
@ -19,7 +20,7 @@ const roleBindingDetailItemInjectable = getInjectable({
|
|||||||
Component: RoleBindingDetails,
|
Component: RoleBindingDetails,
|
||||||
enabled: computed(() => isRoleBinding(kubeObject.value.get()?.object)),
|
enabled: computed(() => isRoleBinding(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { SecretDetails } from "../../../config-secrets";
|
import { SecretDetails } from "../../../config-secrets";
|
||||||
@ -19,7 +20,7 @@ const secretsDetailItemInjectable = getInjectable({
|
|||||||
Component: SecretDetails,
|
Component: SecretDetails,
|
||||||
enabled: computed(() => isSecret(kubeObject.value.get()?.object)),
|
enabled: computed(() => isSecret(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ServiceAccountsDetails } from "../../../user-management/service-accounts";
|
import { ServiceAccountsDetails } from "../../../user-management/service-accounts";
|
||||||
@ -19,7 +20,7 @@ const serviceAccountDetailItemInjectable = getInjectable({
|
|||||||
Component: ServiceAccountsDetails,
|
Component: ServiceAccountsDetails,
|
||||||
enabled: computed(() => isServiceAccount(kubeObject.value.get()?.object)),
|
enabled: computed(() => isServiceAccount(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ServiceDetails } from "../../../network-services";
|
import { ServiceDetails } from "../../../network-services";
|
||||||
@ -19,7 +20,7 @@ const serviceDetailItemInjectable = getInjectable({
|
|||||||
Component: ServiceDetails,
|
Component: ServiceDetails,
|
||||||
enabled: computed(() => isService(kubeObject.value.get()?.object)),
|
enabled: computed(() => isService(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { StatefulSetDetails } from "../../../workloads-statefulsets";
|
import { StatefulSetDetails } from "../../../workloads-statefulsets";
|
||||||
@ -19,7 +20,7 @@ const statefulSetDetailItemInjectable = getInjectable({
|
|||||||
Component: StatefulSetDetails,
|
Component: StatefulSetDetails,
|
||||||
enabled: computed(() => isStatefulSet(kubeObject.value.get()?.object)),
|
enabled: computed(() => isStatefulSet(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { StorageClassDetails } from "../../../storage-classes";
|
import { StorageClassDetails } from "../../../storage-classes";
|
||||||
@ -19,7 +20,7 @@ const storageClassDetailItemInjectable = getInjectable({
|
|||||||
Component: StorageClassDetails,
|
Component: StorageClassDetails,
|
||||||
enabled: computed(() => isStorageClass(kubeObject.value.get()?.object)),
|
enabled: computed(() => isStorageClass(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeObjectDetailItem } from "../kube-object-detail-item-injection-token";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { VpaDetails } from "../../../config-vertical-pod-autoscalers";
|
import { VpaDetails } from "../../../config-vertical-pod-autoscalers";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
@ -19,7 +20,7 @@ const verticalPodAutoscalerDetailItemInjectable = getInjectable({
|
|||||||
Component: VpaDetails,
|
Component: VpaDetails,
|
||||||
enabled: computed(() => isVerticalPodAutoscaler(kubeObject.value.get()?.object)),
|
enabled: computed(() => isVerticalPodAutoscaler(kubeObject.value.get()?.object)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
},
|
},
|
||||||
|
|
||||||
injectionToken: kubeObjectDetailItemInjectionToken,
|
injectionToken: kubeObjectDetailItemInjectionToken,
|
||||||
|
|||||||
@ -28,7 +28,7 @@ export const getMetricsKubeObjectDetailItemInjectable = getInjectable({
|
|||||||
Component: (props) => <DetailsMetricsContainer metrics={metrics} {...props} />,
|
Component: (props) => <DetailsMetricsContainer metrics={metrics} {...props} />,
|
||||||
enabled: di.inject(metricsDetailsComponentEnabledInjectable, metricResourceType),
|
enabled: di.inject(metricsDetailsComponentEnabledInjectable, metricResourceType),
|
||||||
orderNumber: -1,
|
orderNumber: -1,
|
||||||
};
|
} as KubeObjectDetailItem;
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@ -53,7 +53,7 @@ class NonInjectedClusterRoleBindingDetails extends React.Component<KubeObjectDet
|
|||||||
const { selectedSubjects } = this;
|
const { selectedSubjects } = this;
|
||||||
|
|
||||||
openConfirmDialog({
|
openConfirmDialog({
|
||||||
ok: () => clusterRoleBindingStore.removeSubjects(clusterRoleBinding, selectedSubjects),
|
ok: () => void clusterRoleBindingStore.removeSubjects(clusterRoleBinding, selectedSubjects),
|
||||||
labelOk: `Remove`,
|
labelOk: `Remove`,
|
||||||
message: (
|
message: (
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@ -10,62 +10,47 @@ import React from "react";
|
|||||||
|
|
||||||
import { DrawerTitle } from "../../drawer";
|
import { DrawerTitle } from "../../drawer";
|
||||||
import type { KubeObjectDetailsProps } from "../../kube-object-details";
|
import type { KubeObjectDetailsProps } from "../../kube-object-details";
|
||||||
import { ClusterRole } from "@k8slens/kube-object";
|
import type { ClusterRole } from "@k8slens/kube-object";
|
||||||
|
|
||||||
@observer
|
export const ClusterRoleDetails = observer((props: KubeObjectDetailsProps) => {
|
||||||
export class ClusterRoleDetails extends React.Component<KubeObjectDetailsProps> {
|
const clusterRole = props.object as ClusterRole;
|
||||||
render() {
|
const rules = clusterRole.getRules();
|
||||||
const { object: clusterRole } = this.props;
|
|
||||||
|
|
||||||
if (!clusterRole) {
|
return (
|
||||||
return null;
|
<div className="ClusterRoleDetails">
|
||||||
}
|
<DrawerTitle>Rules</DrawerTitle>
|
||||||
|
{rules.map(({ resourceNames, apiGroups, resources, verbs }, index) => (
|
||||||
if (!(clusterRole instanceof ClusterRole)) {
|
<div className="rule" key={index}>
|
||||||
return null;
|
{resources && (
|
||||||
}
|
<>
|
||||||
|
<div className="name">Resources</div>
|
||||||
const rules = clusterRole.getRules();
|
<div className="value">{resources.join(", ")}</div>
|
||||||
|
</>
|
||||||
return (
|
)}
|
||||||
<div className="ClusterRoleDetails">
|
{verbs && (
|
||||||
<DrawerTitle>Rules</DrawerTitle>
|
<>
|
||||||
{rules.map(({ resourceNames, apiGroups, resources, verbs }, index) => {
|
<div className="name">Verbs</div>
|
||||||
return (
|
<div className="value">{verbs.join(", ")}</div>
|
||||||
<div className="rule" key={index}>
|
</>
|
||||||
{resources && (
|
)}
|
||||||
<>
|
{apiGroups && (
|
||||||
<div className="name">Resources</div>
|
<>
|
||||||
<div className="value">{resources.join(", ")}</div>
|
<div className="name">Api Groups</div>
|
||||||
</>
|
<div className="value">
|
||||||
)}
|
{apiGroups
|
||||||
{verbs && (
|
.map(apiGroup => apiGroup === "" ? `'${apiGroup}'` : apiGroup)
|
||||||
<>
|
.join(", ")}
|
||||||
<div className="name">Verbs</div>
|
</div>
|
||||||
<div className="value">{verbs.join(", ")}</div>
|
</>
|
||||||
</>
|
)}
|
||||||
)}
|
{resourceNames && (
|
||||||
{apiGroups && (
|
<>
|
||||||
<>
|
<div className="name">Resource Names</div>
|
||||||
<div className="name">Api Groups</div>
|
<div className="value">{resourceNames.join(", ")}</div>
|
||||||
<div className="value">
|
</>
|
||||||
{apiGroups
|
)}
|
||||||
.map(apiGroup => apiGroup === "" ? `'${apiGroup}'` : apiGroup)
|
</div>
|
||||||
.join(", ")
|
))}
|
||||||
}
|
</div>
|
||||||
</div>
|
);
|
||||||
</>
|
});
|
||||||
)}
|
|
||||||
{resourceNames && (
|
|
||||||
<>
|
|
||||||
<div className="name">Resource Names</div>
|
|
||||||
<div className="value">{resourceNames.join(", ")}</div>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -46,7 +46,7 @@ class NonInjectedRoleBindingDetails extends React.Component<KubeObjectDetailsPro
|
|||||||
const { selectedSubjects } = this;
|
const { selectedSubjects } = this;
|
||||||
|
|
||||||
openConfirmDialog({
|
openConfirmDialog({
|
||||||
ok: () => roleBindingStore.removeSubjects(roleBinding, selectedSubjects.toJSON()),
|
ok: () => void roleBindingStore.removeSubjects(roleBinding, selectedSubjects.toJSON()),
|
||||||
labelOk: `Remove`,
|
labelOk: `Remove`,
|
||||||
message: (
|
message: (
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@ -8,64 +8,51 @@ import "./details.scss";
|
|||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { Role } from "@k8slens/kube-object";
|
import type { Role } from "@k8slens/kube-object";
|
||||||
import { DrawerTitle } from "../../drawer";
|
import { DrawerTitle } from "../../drawer";
|
||||||
import type { KubeObjectDetailsProps } from "../../kube-object-details";
|
import type { KubeObjectDetailsProps } from "../../kube-object-details";
|
||||||
|
|
||||||
@observer
|
export const RoleDetails = observer((props: KubeObjectDetailsProps) => {
|
||||||
export class RoleDetails extends React.Component<KubeObjectDetailsProps> {
|
const role = props.object as Role;
|
||||||
render() {
|
|
||||||
const { object: role } = this.props;
|
|
||||||
|
|
||||||
if (!role) {
|
const rules = role.getRules();
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(role instanceof Role)) {
|
return (
|
||||||
return null;
|
<div className="RoleDetails">
|
||||||
}
|
<DrawerTitle>Rules</DrawerTitle>
|
||||||
|
{rules.map(({ resourceNames, apiGroups, resources, verbs }, index) => (
|
||||||
|
<div className="rule" key={index}>
|
||||||
|
{resources && (
|
||||||
|
<>
|
||||||
|
<div className="name">Resources</div>
|
||||||
|
<div className="value">{resources.join(", ")}</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
{verbs && (
|
||||||
|
<>
|
||||||
|
<div className="name">Verbs</div>
|
||||||
|
<div className="value">{verbs.join(", ")}</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
{apiGroups && (
|
||||||
|
<>
|
||||||
|
<div className="name">Api Groups</div>
|
||||||
|
<div className="value">
|
||||||
|
{apiGroups
|
||||||
|
.map(apiGroup => apiGroup === "" ? `'${apiGroup}'` : apiGroup)
|
||||||
|
.join(", ")}
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
{resourceNames && (
|
||||||
|
<>
|
||||||
|
<div className="name">Resource Names</div>
|
||||||
|
<div className="value">{resourceNames.join(", ")}</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
const rules = role.getRules();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="RoleDetails">
|
|
||||||
<DrawerTitle>Rules</DrawerTitle>
|
|
||||||
{rules.map(({ resourceNames, apiGroups, resources, verbs }, index) => {
|
|
||||||
return (
|
|
||||||
<div className="rule" key={index}>
|
|
||||||
{resources && (
|
|
||||||
<>
|
|
||||||
<div className="name">Resources</div>
|
|
||||||
<div className="value">{resources.join(", ")}</div>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
{verbs && (
|
|
||||||
<>
|
|
||||||
<div className="name">Verbs</div>
|
|
||||||
<div className="value">{verbs.join(", ")}</div>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
{apiGroups && (
|
|
||||||
<>
|
|
||||||
<div className="name">Api Groups</div>
|
|
||||||
<div className="value">
|
|
||||||
{apiGroups
|
|
||||||
.map(apiGroup => apiGroup === "" ? `'${apiGroup}'` : apiGroup)
|
|
||||||
.join(", ")
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
{resourceNames && (
|
|
||||||
<>
|
|
||||||
<div className="name">Resource Names</div>
|
|
||||||
<div className="value">{resourceNames.join(", ")}</div>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user