diff --git a/packages/core/src/common/k8s-api/__tests__/kube-api-parse.test.ts b/packages/core/src/common/k8s-api/__tests__/kube-api-parse.test.ts index 1783bdb59b..38dfacd656 100644 --- a/packages/core/src/common/k8s-api/__tests__/kube-api-parse.test.ts +++ b/packages/core/src/common/k8s-api/__tests__/kube-api-parse.test.ts @@ -111,6 +111,20 @@ const tests: KubeApiParseTestData[] = [ name: "kube-public", namespace: undefined, }], + + [ + "/apis/apps/v1/namespaces/default/deployments/some-deployment", + { + apiBase: "/apis/apps/v1/deployments", + apiGroup: "apps", + apiPrefix: "/apis", + apiVersion: "v1", + apiVersionWithGroup: "apps/v1", + name: "some-deployment", + namespace: "default", + resource: "deployments", + }, + ], ]; const invalidTests = [ diff --git a/packages/core/src/common/k8s-api/kube-api-parse.ts b/packages/core/src/common/k8s-api/kube-api-parse.ts index e69d3ffa69..cc8bde02c3 100644 --- a/packages/core/src/common/k8s-api/kube-api-parse.ts +++ b/packages/core/src/common/k8s-api/kube-api-parse.ts @@ -46,9 +46,10 @@ export function parseKubeApi(path: string): IKubeApiParsed | undefined { break; } - let rest: string[]; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + apiVersion = left.at(-1)!; + const rest = left.slice(0, -1); - [apiVersion, ...rest] = left; apiGroup = rest.join("/"); } else { if (left.length === 0) {