sysinfo

package
v28.0.1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2025 License: Apache-2.0 Imports: 14 Imported by: 607

Documentation

Overview

Package sysinfo stores information about which features a kernel supports.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

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 added in v1.9.0

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 added in v1.9.0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL