mirror of
https://github.com/psviderski/uncloud.git
synced 2026-08-26 19:13:34 +00:00
* feat: Add support for compose `devices` mappings https://docs.docker.com/reference/compose-file/services/#devices ``` services: foo: devices: - "/dev/ttyUSB0:/dev/ttyUSB0" - "/dev/sda:/dev/xvda:rwm" ``` * Lint fix
32 lines
925 B
Go
32 lines
925 B
Go
package api
|
|
|
|
import (
|
|
"github.com/docker/docker/api/types/container"
|
|
)
|
|
|
|
const (
|
|
MilliCore = 1_000_000
|
|
Core = 1000 * MilliCore
|
|
)
|
|
|
|
type ContainerResources struct {
|
|
// CPU is the maximum amount of CPU nanocores (1000000000 = 1 CPU core) the container can use.
|
|
CPU int64
|
|
// Memory is the maximum amount of memory (in bytes) the container can use.
|
|
Memory int64
|
|
// MemoryReservation is the minimum amount of memory (in bytes) the container needs to run efficiently.
|
|
// TODO: implement a placement constraint that checks available memory on machines.
|
|
MemoryReservation int64
|
|
// Device mappings for direct access to host devices
|
|
DeviceMappings []container.DeviceMapping
|
|
// Device reservations/requests for access to things like GPUs
|
|
DeviceReservations []container.DeviceRequest
|
|
// Ulimits defines the resource limits for the container.
|
|
Ulimits map[string]Ulimit
|
|
}
|
|
|
|
type Ulimit struct {
|
|
Soft int64
|
|
Hard int64
|
|
}
|