Documentation ¶
Overview ¶
Package sysinfo is a copy of https://github.com/moby/moby/tree/master/pkg/sysinfo as of cff4f20c44a3a7c882ed73934dec6a77246c6323 This may be removed (and replaced by a dependency to moby again) once they have migrated to containerd v2.
Package sysinfo stores information about which features a kernel supports.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NumCPU ¶
func NumCPU() int
NumCPU returns the number of CPUs. On Linux and Windows, it returns the number of CPUs which are currently online. On other platforms, it's the equivalent of runtime.NumCPU.
Types ¶
type Opt ¶
type Opt func(info *SysInfo)
Opt for New().
func WithCgroup2GroupPath ¶
WithCgroup2GroupPath specifies the cgroup v2 group path to inspect availability of the controllers.
WithCgroup2GroupPath is expected to be used for rootless mode with systemd driver.
e.g. g = "/user.slice/user-1000.slice/user@1000.service"
type SysInfo ¶
type SysInfo struct { // Whether the kernel supports AppArmor or not AppArmor bool // Whether the kernel supports Seccomp or not Seccomp bool // Whether the kernel supports cgroup namespaces or not CgroupNamespaces bool // 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 // Whether the cgroup is in unified mode (v2). CgroupUnified bool // Warnings contains a slice of warnings that occurred while collecting // system information. These warnings are intended to be informational // messages for the user, and can either be logged or returned to the // client; they are not intended to be parsed / used for other purposes, // and do not have a fixed format. Warnings []string // contains filtered or unexported fields }
SysInfo stores information about which features a kernel supports. TODO Windows: Factor out platform specific capabilities.
func New ¶
New returns a new SysInfo, using the filesystem to detect which features the kernel supports.
func (SysInfo) IsCpusetCpusAvailable ¶
IsCpusetCpusAvailable returns `true` if the provided string set is contained in cgroup's cpuset.cpus set, `false` otherwise. If error is not nil a parsing error occurred.
func (SysInfo) IsCpusetMemsAvailable ¶
IsCpusetMemsAvailable returns `true` if the provided string set is contained in cgroup's cpuset.mems set, `false` otherwise. If error is not nil a parsing error occurred.