diff --git a/src/renderer/api/kube-api-parse.ts b/src/renderer/api/kube-api-parse.ts index 085e8eed35..b3033a6f1e 100644 --- a/src/renderer/api/kube-api-parse.ts +++ b/src/renderer/api/kube-api-parse.ts @@ -117,10 +117,12 @@ export function createKubeApiURL(ref: IKubeApiLinkRef): string { export function lookupApiLink(ref: IKubeObjectRef, parentObject: KubeObject): string { const { - kind = "", apiVersion, name, + kind, apiVersion, name, namespace = parentObject.getNs() } = ref; + if (!kind) return ""; + // search in registered apis by 'kind' & 'apiVersion' const api = apiManager.getApi(api => api.kind === kind && api.apiVersionWithGroup == apiVersion) if (api) { @@ -129,7 +131,7 @@ export function lookupApiLink(ref: IKubeObjectRef, parentObject: KubeObject): st // lookup api by generated resource link const apiPrefixes = ["/apis", "/api"]; - const resource = kind.endsWith("s") ? `${kind}es` : `${kind}s`; + const resource = kind.endsWith("s") ? `${kind.toLowerCase()}es` : `${kind.toLowerCase()}s`; for (const apiPrefix of apiPrefixes) { const apiLink = createKubeApiURL({ apiPrefix, apiVersion, name, namespace, resource }); if (apiManager.getApi(apiLink)) {