Files
2026-07-13 12:08:39 +08:00

28 lines
863 B
TypeScript

import { number, object, SchemaOf } from 'yup';
import { devicesValidation } from './DevicesField';
import { gpuFieldsetUtils } from './GpuFieldset';
import { resourcesValidation } from './ResourcesFieldset';
import { Values } from './ResourcesTab';
import { runtimeValidation } from './RuntimeSection';
import { sysctlsValidation } from './SysctlsField';
import { securityOptValidation } from './SecurityOptField';
export function validation({
maxMemory,
maxCpu,
}: {
maxMemory?: number;
maxCpu?: number;
} = {}): SchemaOf<Values> {
return object({
runtime: runtimeValidation(),
devices: devicesValidation(),
sysctls: sysctlsValidation(),
securityOpt: securityOptValidation(),
sharedMemorySize: number().min(0).default(0),
gpu: gpuFieldsetUtils.validation(),
resources: resourcesValidation({ maxMemory, maxCpu }),
});
}