mirror of
https://github.com/psviderski/uncloud.git
synced 2026-08-26 19:13:34 +00:00
* feat: add support for ulimits in compose and container creation ([#221](https://github.com/ipaddicting/uncloud/issues/221)) * refactor: move Ulimits to ContainerResources and use map, also removed GEMINI.md.
30 lines
829 B
Go
30 lines
829 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 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
|
|
}
|