diff --git a/packages/core/src/common/k8s-api/endpoints/pod-metrics-api-injection-token.ts b/packages/core/src/common/k8s-api/endpoints/pod-metrics-api-injection-token.ts new file mode 100644 index 0000000000..e089c8f6d2 --- /dev/null +++ b/packages/core/src/common/k8s-api/endpoints/pod-metrics-api-injection-token.ts @@ -0,0 +1,10 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectionToken } from "@ogre-tools/injectable"; +import type { PodMetricsApi } from "./pod-metrics.api"; + +export const podMetricsApiInjectionToken = getInjectionToken({ + id: "pod-metrics-api-injection-token", +}); diff --git a/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts index ddd2b109ef..4c2efd6b28 100644 --- a/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts +++ b/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts @@ -6,9 +6,10 @@ import { getInjectable } from "@ogre-tools/injectable"; import assert from "assert"; import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; import { PodMetricsApi } from "./pod-metrics.api"; -import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token"; import loggerInjectable from "../../logger.injectable"; import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; +import { podMetricsApiInjectionToken } from "./pod-metrics-api-injection-token"; + const podMetricsApiInjectable = getInjectable({ id: "pod-metrics-api", @@ -20,8 +21,7 @@ const podMetricsApiInjectable = getInjectable({ maybeKubeApi: di.inject(maybeKubeApiInjectable), }); }, - - injectionToken: kubeApiInjectionToken, + injectionToken: podMetricsApiInjectionToken, }); export default podMetricsApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/pod-metrics.kube-api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/pod-metrics.kube-api.injectable.ts new file mode 100644 index 0000000000..014eba7720 --- /dev/null +++ b/packages/core/src/common/k8s-api/endpoints/pod-metrics.kube-api.injectable.ts @@ -0,0 +1,16 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token"; +import podMetricsApiInjectable from "./pod-metrics.api.injectable"; + +const podMetricsKubeApiInjectable = getInjectable({ + id: "pod-metrics-kube-api", + instantiate: (di) => di.inject(podMetricsApiInjectable), + injectionToken: kubeApiInjectionToken, +}); + + +export default podMetricsKubeApiInjectable; diff --git a/packages/core/src/extensions/renderer-api/k8s-api.ts b/packages/core/src/extensions/renderer-api/k8s-api.ts index e70b22d738..3c68aeff88 100644 --- a/packages/core/src/extensions/renderer-api/k8s-api.ts +++ b/packages/core/src/extensions/renderer-api/k8s-api.ts @@ -105,6 +105,9 @@ export type { MetricData, MetricResult, } from "../../common/k8s-api/endpoints/metrics.api"; +export type { + PodMetrics, +} from "../../common/k8s-api/endpoints/pod-metrics.api"; export { KubeObjectStatusLevel, diff --git a/packages/core/src/renderer/library.ts b/packages/core/src/renderer/library.ts index 1af4714943..84619f2835 100644 --- a/packages/core/src/renderer/library.ts +++ b/packages/core/src/renderer/library.ts @@ -23,3 +23,4 @@ export * as ReactRouterDom from "react-router-dom"; export * as rendererExtensionApi from "../extensions/renderer-api"; export * as commonExtensionApi from "../extensions/common-api"; export { metricsFeature } from "../features/metrics/metrics-feature"; +export { podMetricsApiInjectionToken } from "../common/k8s-api/endpoints/pod-metrics-api-injection-token";