1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/metrics/index.ts
Juho Heikka 53cb3a5d38
Add metrics Feature (#7507)
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
2023-04-12 14:40:00 +03:00

82 lines
2.7 KiB
TypeScript

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import type React from "react";
import { getInjectionToken } from "@ogre-tools/injectable";
export type ClusterOverviewUIBlock = {
id: string;
Component: React.ElementType;
orderNumber: number;
};
// this should be moved to cluster-overview package when there is one
export const clusterOverviewUIBlockInjectionToken = getInjectionToken<ClusterOverviewUIBlock>({
id: "cluster-overview-ui-block-injection-token",
});
export type KubeObjectDetailMetricsComponentProps = {
object: any;
};
export type KubeObjectDetailMetrics = {
id: string;
Component: React.ComponentType<KubeObjectDetailMetricsComponentProps>;
};
export const podDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "pod-details-metrics-injection-token",
});
export const deploymentDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "deployment-details-metrics-injection-token",
});
export const nodeDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "node-details-metrics-injection-token",
});
export const replicaSetDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "replica-set-details-metrics-injection-token",
});
export const persistentVolumeClaimDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "persistent-volume-claim-details-metrics-injection-token",
});
export const statefulSetDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "stateful-set-details-metrics-injection-token",
});
export const namespaceDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "namespace-details-metrics-injection-token",
});
export const jobDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "job-details-metrics-injection-token",
});
export const daemonSetDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "daemon-set-details-metrics-injection-token",
});
export const ingressDetailsMetricsInjectionToken = getInjectionToken<KubeObjectDetailMetrics>({
id: "ingress-details-metrics-injection-token",
});
export interface PodDetailsContainerMetricsComponentProps {
container: any;
pod: any;
}
export interface PodDetailsContainerMetricsComponent {
id: string;
Component: React.ComponentType<PodDetailsContainerMetricsComponentProps>;
}
export const podDetailsContainerMetricsInjectionToken = getInjectionToken<PodDetailsContainerMetricsComponent>({
id: "pod-details-container-metrics-injection-token",
});