mirror of https://github.com/portainer/portainer
26 lines
848 B
TypeScript
26 lines
848 B
TypeScript
import { useQuery } from '@tanstack/react-query';
|
|
import { Node } from 'kubernetes-types/core/v1';
|
|
|
|
import { EnvironmentId } from '@/react/portainer/environments/types';
|
|
import { getTotalResourcesForAllApplications } from '@/react/kubernetes/metrics/metrics';
|
|
import KubernetesResourceReservationHelper from '@/kubernetes/helpers/resourceReservationHelper';
|
|
|
|
export function useClusterResourceReservationQuery(
|
|
environmentId: EnvironmentId,
|
|
nodes: Node[]
|
|
) {
|
|
return useQuery(
|
|
[environmentId, 'clusterResourceReservation'],
|
|
() => getTotalResourcesForAllApplications(environmentId),
|
|
{
|
|
enabled: !!environmentId && nodes.length > 0,
|
|
select: (data) => ({
|
|
cpu: data.CpuRequest / 1000,
|
|
memory: KubernetesResourceReservationHelper.megaBytesValue(
|
|
data.MemoryRequest
|
|
),
|
|
}),
|
|
}
|
|
);
|
|
}
|