mirror of
https://github.com/portainer/portainer.git
synced 2025-07-20 22:09:41 +02:00
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
|
||
|
),
|
||
|
}),
|
||
|
}
|
||
|
);
|
||
|
}
|