moby--moby/pkg/sysinfo/sysinfo.go

46 lines
1.2 KiB
Go
Raw Normal View History

package sysinfo
// SysInfo stores information about which features a kernel supports.
// TODO Windows: Factor out platform specific capabilities.
type SysInfo struct {
// Whether the kernel supports AppArmor or not
AppArmor bool
*cgroupMemInfo
*cgroupCPUInfo
// Whether IPv4 forwarding is supported or not, if this was disabled, networking will not work
IPv4ForwardingDisabled bool
// Whether bridge-nf-call-iptables is supported or not
BridgeNfCallIptablesDisabled bool
// Whether bridge-nf-call-ip6tables is supported or not
BridgeNfCallIP6tablesDisabled bool
// Whether the cgroup has the mountpoint of "devices" or not
CgroupDevicesEnabled bool
}
type cgroupMemInfo struct {
// Whether memory limit is supported or not
MemoryLimit bool
// Whether swap limit is supported or not
SwapLimit bool
// Whether OOM killer disalbe is supported or not
OomKillDisable bool
// Whether memory swappiness is supported or not
MemorySwappiness bool
}
type cgroupCPUInfo struct {
// Whether CPU CFS(Completely Fair Scheduler) period is supported or not
CPUCfsPeriod bool
// Whether CPU CFS(Completely Fair Scheduler) quota is supported or not
CPUCfsQuota bool
}