diff --git a/dashboard/client/api/endpoints/cert-manager.api.ts b/dashboard/client/api/endpoints/cert-manager.api.ts
index f3d3408441..bfeb2692cb 100644
--- a/dashboard/client/api/endpoints/cert-manager.api.ts
+++ b/dashboard/client/api/endpoints/cert-manager.api.ts
@@ -241,21 +241,21 @@ export class ClusterIssuer extends Issuer {
export const certificatesApi = new KubeApi({
kind: Certificate.kind,
- apiBase: "/apis/certmanager.k8s.io/v1alpha1/certificates",
+ apiBase: "/apis/cert-manager.io/v1alpha2/certificates",
isNamespaced: true,
objectConstructor: Certificate,
});
export const issuersApi = new KubeApi({
kind: Issuer.kind,
- apiBase: "/apis/certmanager.k8s.io/v1alpha1/issuers",
+ apiBase: "/apis/cert-manager.io/v1alpha2/issuers",
isNamespaced: true,
objectConstructor: Issuer,
});
export const clusterIssuersApi = new KubeApi({
kind: ClusterIssuer.kind,
- apiBase: "/apis/certmanager.k8s.io/v1alpha1/clusterissuers",
+ apiBase: "/apis/cert-manager.io/v1alpha2/clusterissuers",
isNamespaced: false,
objectConstructor: ClusterIssuer,
});
diff --git a/dashboard/client/components/+config/config.tsx b/dashboard/client/components/+config/config.tsx
index 27149cc451..935cd9affd 100644
--- a/dashboard/client/components/+config/config.tsx
+++ b/dashboard/client/components/+config/config.tsx
@@ -39,24 +39,6 @@ export class Config extends React.Component {
url: resourceQuotaURL({ query }),
path: resourceQuotaRoute.path,
},
- {
- title: Certificates,
- component: Certificates,
- url: certificatesURL({ query }),
- path: certificatesURL(),
- },
- {
- title: Issuers,
- component: Issuers,
- url: issuersURL({ query }),
- path: issuersURL(),
- },
- {
- title: Cluster Issuers,
- component: ClusterIssuers,
- url: clusterIssuersURL(),
- path: clusterIssuersURL(),
- },
{
title: HPA,
component: HorizontalPodAutoscalers,
@@ -77,4 +59,4 @@ export class Config extends React.Component {
)
}
-}
\ No newline at end of file
+}
diff --git a/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificate-details.tsx b/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificate-details.tsx
index f7dea85968..3e7a432cb4 100644
--- a/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificate-details.tsx
+++ b/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificate-details.tsx
@@ -139,4 +139,4 @@ export class CertificateDetails extends React.Component {
apiManager.registerViews(certificatesApi, {
Details: CertificateDetails
-})
\ No newline at end of file
+})
diff --git a/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificates.tsx b/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificates.tsx
index f198c8fd62..d76082b5de 100644
--- a/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificates.tsx
+++ b/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificates.tsx
@@ -101,5 +101,5 @@ export function CertificateMenu(props: KubeObjectMenuProps) {
apiManager.registerViews(certificatesApi, {
List: Certificates,
- Menu: CertificateMenu,
-})
\ No newline at end of file
+ Menu: CertificateMenu
+})
diff --git a/dashboard/client/components/+custom-resources/crd.store.ts b/dashboard/client/components/+custom-resources/crd.store.ts
index 4222f659d0..fbcd2a4ee6 100644
--- a/dashboard/client/components/+custom-resources/crd.store.ts
+++ b/dashboard/client/components/+custom-resources/crd.store.ts
@@ -14,9 +14,6 @@ export class CRDStore extends KubeObjectStore {
constructor() {
super();
- // auto-load crd-s for building sub-menus
- this.loadAll();
-
// auto-init stores for crd-s
reaction(() => this.items.toJS(), items => {
items.forEach(this.initStore);
diff --git a/dashboard/client/components/kube-object/kube-object-details.tsx b/dashboard/client/components/kube-object/kube-object-details.tsx
index c209047325..6f1f7fcc08 100644
--- a/dashboard/client/components/kube-object/kube-object-details.tsx
+++ b/dashboard/client/components/kube-object/kube-object-details.tsx
@@ -69,7 +69,7 @@ export class KubeObjectDetails extends React.Component {
const { kind, getName, selfLink } = object;
title = `${kind}: ${getName()}`;
apiComponents = apiManager.getViews(selfLink);
- if (isCrdInstance) {
+ if (isCrdInstance && !apiComponents.Details) {
apiComponents.Details = CrdResourceDetails
apiComponents.Menu = CrdResourceMenu
}
diff --git a/dashboard/client/components/layout/main-layout.tsx b/dashboard/client/components/layout/main-layout.tsx
index 4ed81fc8a0..b7908f2eb0 100755
--- a/dashboard/client/components/layout/main-layout.tsx
+++ b/dashboard/client/components/layout/main-layout.tsx
@@ -4,20 +4,13 @@ import * as React from "react";
import { observable, reaction } from "mobx";
import { disposeOnUnmount, observer } from "mobx-react";
import { matchPath, RouteProps } from "react-router-dom";
-import { Trans } from "@lingui/macro";
-import { createStorage, cssNames, isElectron } from "../../utils";
+import { createStorage, cssNames } from "../../utils";
import { Tab, Tabs } from "../tabs";
-import { Icon } from "../icon";
-import { openUserKubeConfig } from "../kubeconfig-dialog";
import { Sidebar } from "./sidebar";
import { configStore } from "../../config.store";
import { ErrorBoundary } from "../error-boundary";
import { Dock } from "../dock";
-import { MenuItem } from "../menu";
-import { MenuActions } from "../menu/menu-actions";
import { navigate, navigation } from "../../navigation";
-import { i18nStore } from "../../i18n";
-import { Badge } from "../badge";
import { themeStore } from "../../theme.store";
export interface TabRoute extends RouteProps {
@@ -54,9 +47,8 @@ export class MainLayout extends React.Component {
render() {
const { className, contentClass, headerClass, tabs, footer, footerClass, children } = this.props;
- const { clusterName, username, lensVersion, kubectlAccess } = configStore.config;
+ const { clusterName } = configStore.config;
const { pathname } = navigation.location;
- const { languages, setLocale, activeLang } = i18nStore;
return (
diff --git a/dashboard/client/components/layout/sidebar.tsx b/dashboard/client/components/layout/sidebar.tsx
index a062066f72..3edc2ffc67 100644
--- a/dashboard/client/components/layout/sidebar.tsx
+++ b/dashboard/client/components/layout/sidebar.tsx
@@ -42,6 +42,10 @@ interface Props {
@observer
export class Sidebar extends React.Component {
+ async componentDidMount() {
+ if (!crdStore.isLoaded) crdStore.loadAll()
+ }
+
renderCustomResources() {
return Object.entries(crdStore.groups).map(([group, crds]) => {
const submenus = crds.map(crd => {