package sysinfo

import "github.com/dotcloud/docker/pkg/sysinfo"

Package sysinfo stores information about which features a kernel supports.

Index

Types

type Opt

type Opt func(info *SysInfo)

Opt for New().

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
	//
	// Deprecated: netfilter module is now loaded on-demand and no longer during daemon startup, making this field obsolete. This field is always false and will be removed in the next release.
	BridgeNFCallIPTablesDisabled bool

	// Whether bridge-nf-call-ip6tables is supported or not
	//
	// Deprecated: netfilter module is now loaded on-demand and no longer during daemon startup, making this field obsolete. This field is always false and will be removed in the next release.
	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

func New(options ...Opt) *SysInfo

New returns an empty SysInfo for non linux for now.

func (SysInfo) IsCpusetCpusAvailable

func (c SysInfo) IsCpusetCpusAvailable(requested string) (bool, error)

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

func (c SysInfo) IsCpusetMemsAvailable(requested string) (bool, error)

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.

Source Files

sysinfo.go sysinfo_other.go

Version
v28.0.1+incompatible
Published
Feb 26, 2025
Platform
js/wasm
Last checked
1 minute ago

Tools for package owners.