mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
added new sidebar item: "Network -> Ingress Classes"
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
4940f5dc1a
commit
b273de02e2
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
export type KubeResource =
|
export type KubeResource =
|
||||||
"namespaces" | "nodes" | "events" | "resourcequotas" | "services" | "limitranges" | "leases" |
|
"namespaces" | "nodes" | "events" | "resourcequotas" | "services" | "limitranges" | "leases" |
|
||||||
"secrets" | "configmaps" | "ingresses" | "networkpolicies" | "persistentvolumeclaims" | "persistentvolumes" | "storageclasses" |
|
"secrets" | "configmaps" | "ingresses" | "ingressclasses" | "networkpolicies" | "persistentvolumeclaims" | "persistentvolumes" | "storageclasses" |
|
||||||
"pods" | "daemonsets" | "deployments" | "statefulsets" | "replicasets" | "jobs" | "cronjobs" |
|
"pods" | "daemonsets" | "deployments" | "statefulsets" | "replicasets" | "jobs" | "cronjobs" |
|
||||||
"endpoints" | "customresourcedefinitions" | "horizontalpodautoscalers" | "podsecuritypolicies" | "poddisruptionbudgets" |
|
"endpoints" | "customresourcedefinitions" | "horizontalpodautoscalers" | "podsecuritypolicies" | "poddisruptionbudgets" |
|
||||||
"priorityclasses" | "runtimeclasses" |
|
"priorityclasses" | "runtimeclasses" |
|
||||||
@ -32,6 +32,7 @@ export const apiResourceRecord: Record<KubeResource, KubeApiResourceData> = {
|
|||||||
"events": { kind: "Event" },
|
"events": { kind: "Event" },
|
||||||
"horizontalpodautoscalers": { kind: "HorizontalPodAutoscaler", group: "autoscaling" },
|
"horizontalpodautoscalers": { kind: "HorizontalPodAutoscaler", group: "autoscaling" },
|
||||||
"ingresses": { kind: "Ingress", group: "networking.k8s.io" },
|
"ingresses": { kind: "Ingress", group: "networking.k8s.io" },
|
||||||
|
"ingressclasses": { kind: "IngressClass", group: "networking.k8s.io" },
|
||||||
"jobs": { kind: "Job", group: "batch" },
|
"jobs": { kind: "Job", group: "batch" },
|
||||||
"namespaces": { kind: "Namespace" },
|
"namespaces": { kind: "Namespace" },
|
||||||
"limitranges": { kind: "LimitRange" },
|
"limitranges": { kind: "LimitRange" },
|
||||||
|
|||||||
@ -5,28 +5,42 @@
|
|||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
|
|
||||||
import ingressesRouteInjectable from "../../../common/front-end-routing/routes/cluster/network/ingresses/ingresses-route.injectable";
|
import ingressesRouteInjectable
|
||||||
|
from "../../../common/front-end-routing/routes/cluster/network/ingresses/ingresses-route.injectable";
|
||||||
import { sidebarItemsInjectionToken } from "../layout/sidebar-items.injectable";
|
import { sidebarItemsInjectionToken } from "../layout/sidebar-items.injectable";
|
||||||
import { networkSidebarItemId } from "../+network/network-sidebar-items.injectable";
|
import { networkSidebarItemId } from "../+network/network-sidebar-items.injectable";
|
||||||
import routeIsActiveInjectable from "../../routes/route-is-active.injectable";
|
import routeIsActiveInjectable from "../../routes/route-is-active.injectable";
|
||||||
import navigateToIngressesInjectable from "../../../common/front-end-routing/routes/cluster/network/ingresses/navigate-to-ingresses.injectable";
|
import navigateToIngressesInjectable
|
||||||
|
from "../../../common/front-end-routing/routes/cluster/network/ingresses/navigate-to-ingresses.injectable";
|
||||||
|
import ingressClassesesRouteInjectable
|
||||||
|
from "../../../common/front-end-routing/routes/cluster/network/ingress-class/ingress-classeses-route.injectable";
|
||||||
|
import navigateToIngressClassesInjectable
|
||||||
|
from "../../../common/front-end-routing/routes/cluster/network/ingress-class/navigate-to-ingress-classes.injectable";
|
||||||
|
|
||||||
const ingressesSidebarItemsInjectable = getInjectable({
|
const ingressesSidebarItemsInjectable = getInjectable({
|
||||||
id: "ingresses-sidebar-items",
|
id: "ingresses-sidebar-items",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const route = di.inject(ingressesRouteInjectable);
|
const ingressRoute = di.inject(ingressesRouteInjectable);
|
||||||
const navigateToIngresses = di.inject(navigateToIngressesInjectable);
|
const ingressClassRoute = di.inject(ingressClassesesRouteInjectable);
|
||||||
const routeIsActive = di.inject(routeIsActiveInjectable, route);
|
|
||||||
|
|
||||||
return computed(() => [
|
return computed(() => [
|
||||||
{
|
{
|
||||||
id: "ingresses",
|
id: "ingresses",
|
||||||
parentId: networkSidebarItemId,
|
parentId: networkSidebarItemId,
|
||||||
title: "Ingresses",
|
title: "Ingresses",
|
||||||
onClick: navigateToIngresses,
|
onClick: di.inject(navigateToIngressesInjectable),
|
||||||
isActive: routeIsActive,
|
isActive: di.inject(routeIsActiveInjectable, ingressRoute),
|
||||||
isVisible: route.isEnabled,
|
isVisible: ingressRoute.isEnabled,
|
||||||
|
orderNumber: 30,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "ingressclasses",
|
||||||
|
parentId: networkSidebarItemId,
|
||||||
|
title: "Ingress Classes",
|
||||||
|
onClick: di.inject(navigateToIngressClassesInjectable),
|
||||||
|
isActive: di.inject(routeIsActiveInjectable, ingressClassRoute),
|
||||||
|
isVisible: ingressClassRoute.isEnabled,
|
||||||
orderNumber: 30,
|
orderNumber: 30,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ export const ResourceNames: Record<KubeResource, string> = {
|
|||||||
"secrets": "Secrets",
|
"secrets": "Secrets",
|
||||||
"configmaps": "Config Maps",
|
"configmaps": "Config Maps",
|
||||||
"ingresses": "Ingresses",
|
"ingresses": "Ingresses",
|
||||||
|
"ingressclasses": "Ingress Classes",
|
||||||
"networkpolicies": "Network Policies",
|
"networkpolicies": "Network Policies",
|
||||||
"persistentvolumeclaims": "Persistent Volume Claims",
|
"persistentvolumeclaims": "Persistent Volume Claims",
|
||||||
"persistentvolumes": "Persistent Volumes",
|
"persistentvolumes": "Persistent Volumes",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user