1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-23 07:19:41 +02:00
portainer/app/react/docker/containers/CreateView/ResourcesTab/toViewModel.ts
LP B ac5491e864
Some checks failed
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Has been cancelled
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Has been cancelled
ci / build_images (map[arch:arm platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Has been cancelled
/ triage (push) Has been cancelled
Lint / Run linters (push) Has been cancelled
Test / test-client (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:linux]) (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Has been cancelled
Test / test-server (map[arch:arm64 platform:linux]) (push) Has been cancelled
ci / build_manifests (push) Has been cancelled
feat(app): limit the docker API version supported by the frontend (#12295)
2024-10-08 17:13:14 +02:00

49 lines
1.4 KiB
TypeScript

import { ContainerDetailsJSON } from '../../queries/useContainer';
import { toDevicesViewModel } from './DevicesField';
import { gpuFieldsetUtils } from './GpuFieldset';
import { toViewModelCpu, toViewModelMemory } from './memory-utils';
import { Values } from './ResourcesTab';
export function toViewModel(config: ContainerDetailsJSON): Values {
return {
runtime: {
privileged: config.HostConfig?.Privileged || false,
init: config.HostConfig?.Init || false,
type: config.HostConfig?.Runtime || '',
},
devices: toDevicesViewModel(config.HostConfig?.Devices || []),
sysctls: Object.entries(config.HostConfig?.Sysctls || {}).map(
([name, value]) => ({
name,
value,
})
),
gpu: gpuFieldsetUtils.toViewModel(config.HostConfig?.DeviceRequests || []),
sharedMemorySize: toViewModelMemory(config.HostConfig?.ShmSize),
resources: {
cpu: toViewModelCpu(config.HostConfig?.NanoCpus),
reservation: toViewModelMemory(config.HostConfig?.MemoryReservation),
limit: toViewModelMemory(config.HostConfig?.Memory),
},
};
}
export function getDefaultViewModel(): Values {
return {
runtime: {
privileged: false,
init: false,
type: '',
},
devices: [],
sysctls: [],
sharedMemorySize: 64,
gpu: gpuFieldsetUtils.getDefaultViewModel(),
resources: {
reservation: 0,
limit: 0,
cpu: 0,
},
};
}