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/+custom-resources/certmanager.k8s.io/certificate-details.tsx b/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificate-details.tsx index f7dea85968..33567014d9 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 @@ -137,6 +137,6 @@ export class CertificateDetails extends React.Component { } } -apiManager.registerViews(certificatesApi, { - Details: CertificateDetails -}) \ No newline at end of file +// apiManager.registerViews(certificatesApi, { +// Details: CertificateDetails +// }) 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..73c864fe5c 100644 --- a/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificates.tsx +++ b/dashboard/client/components/+custom-resources/certmanager.k8s.io/certificates.tsx @@ -11,6 +11,7 @@ import { Link } from "react-router-dom"; import { Badge } from "../../badge"; import { apiManager } from "../../../api/api-manager"; import { Spinner } from "../../spinner"; +import { CertificateDetails } from "./certificate-details" enum sortBy { name = "name", @@ -102,4 +103,5 @@ export function CertificateMenu(props: KubeObjectMenuProps) { apiManager.registerViews(certificatesApi, { List: Certificates, Menu: CertificateMenu, -}) \ No newline at end of file + Details: CertificateDetails +}) 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 => {