Help us shape the future of Go! Take the 2026 Go Developer Survey

types

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package types holds Docker Engine and Compose SDK wrappers used by kit.

Index

Constants

View Source
const (
	B   ByteSize = 1
	KiB          = ByteSize(units.KiB)
	MiB          = ByteSize(units.MiB)
	GiB          = ByteSize(units.GiB)
	TiB          = ByteSize(units.TiB)
)
View Source
const (
	PropagationRPrivate = mount.PropagationRPrivate
	PropagationPrivate  = mount.PropagationPrivate
	PropagationRShared  = mount.PropagationRShared
	PropagationShared   = mount.PropagationShared
	PropagationRSlave   = mount.PropagationRSlave
	PropagationSlave    = mount.PropagationSlave
)
View Source
const (
	MountBind      = mount.TypeBind
	MountVolume    = mount.TypeVolume
	MountTmpfs     = mount.TypeTmpfs
	MountNamedPipe = mount.TypeNamedPipe
	MountImage     = mount.TypeImage
	MountCluster   = mount.TypeCluster
)
View Source
const (
	ConsistencyFull      = mount.ConsistencyFull
	ConsistencyCached    = mount.ConsistencyCached
	ConsistencyDelegated = mount.ConsistencyDelegated
	ConsistencyDefault   = mount.ConsistencyDefault
)
View Source
const (
	RestartPolicyNo            = container.RestartPolicyDisabled
	RestartPolicyOnFailure     = container.RestartPolicyOnFailure
	RestartPolicyAlways        = container.RestartPolicyAlways
	RestartPolicyUnlessStopped = container.RestartPolicyUnlessStopped
)

Variables

View Source
var (
	IpcHost      = container.IPCModeHost
	IpcPrivate   = container.IPCModePrivate
	IpcShareable = container.IPCModeShareable
	IpcNone      = container.IPCModeNone
)
View Source
var (
	CgroupHost    = container.CgroupnsModeHost
	CgroupPrivate = container.CgroupnsModePrivate
)
View Source
var (
	IsolationDefault = container.IsolationDefault
	IsolationProcess = container.IsolationProcess
	IsolationHyperV  = container.IsolationHyperV
)

Functions

func ValidateIpcMode

func ValidateIpcMode(m IpcMode) error

ValidateIpcMode reports an invalid container-join mode. The zero value is valid.

func ValidateNetworkMode

func ValidateNetworkMode(m NetworkMode) error

ValidateNetworkMode reports an invalid container-join mode. The zero value is valid.

func ValidatePidMode

func ValidatePidMode(m PidMode) error

ValidatePidMode reports an invalid container-join mode. The zero value is valid.

Types

type ByteSize

type ByteSize = composetypes.UnitBytes

ByteSize is Compose composetypes.UnitBytes.

func ParseByteSize

func ParseByteSize(size string) (ByteSize, error)

ParseByteSize parses a Docker size string. "100M" and "100MiB" are both 100 mebibytes.

type Capability

type Capability string

Capability is a Linux capability granted or dropped on a container.

const (
	// Write records to audit log
	AUDIT_WRITE Capability = "AUDIT_WRITE"
	// Make arbitrary changes to file ownership
	CHOWN Capability = "CHOWN"
	// Bypass file read/write/execute permission checks
	DAC_OVERRIDE Capability = "DAC_OVERRIDE"
	// Bypass file ownership checks
	FOWNER Capability = "FOWNER"
	// Set process UID/GID
	FSETID Capability = "FSETID"
	// Terminate processes
	KILL Capability = "KILL"
	// Create special files
	MKNOD Capability = "MKNOD"
	// Bind to low-numbered ports
	NET_BIND_SERVICE Capability = "NET_BIND_SERVICE"
	// Use raw sockets
	NET_RAW Capability = "NET_RAW"
	// Set file capabilities
	SETFCAP Capability = "SETFCAP"
	// Set group ID
	SETGID Capability = "SETGID"
	// Set process capabilities
	SETPCAP Capability = "SETPCAP"
	// Set user ID
	SETUID Capability = "SETUID"
	// Use chroot()
	SYS_CHROOT Capability = "SYS_CHROOT"
)

Default capabilities granted to containers

const (
	// Configure auditing and audit rules
	AUDIT_CONTROL Capability = "AUDIT_CONTROL"
	// Read auditing and audit rules
	AUDIT_READ Capability = "AUDIT_READ"
)

Audit related capabilities

const (
	// Employ block devices
	BLOCK_SUSPEND Capability = "BLOCK_SUSPEND"
	// Use BPF (Berkeley Packet Filter)
	BPF Capability = "BPF"
	// Use process checkpoint/restore
	CHECKPOINT_RESTORE Capability = "CHECKPOINT_RESTORE"
	// Read files and directories
	DAC_READ_SEARCH Capability = "DAC_READ_SEARCH"
	// Perform admin tasks, like mount filesystems
	SYS_ADMIN Capability = "SYS_ADMIN"
	// Use reboot()
	SYS_BOOT Capability = "SYS_BOOT"
	// Load and unload kernel modules
	SYS_MODULE Capability = "SYS_MODULE"
	// Configure process accounting
	SYS_PACCT Capability = "SYS_PACCT"
	// Perform I/O port operations
	SYS_RAWIO Capability = "SYS_RAWIO"
	// Set system time
	SYS_TIME Capability = "SYS_TIME"
	// Configure tty devices
	SYS_TTY_CONFIG Capability = "SYS_TTY_CONFIG"
	// Configure syslog
	SYSLOG Capability = "SYSLOG"
)

System administration capabilities

const (
	// Lock memory
	IPC_LOCK Capability = "IPC_LOCK"
	// Become IPC namespace owner
	IPC_OWNER Capability = "IPC_OWNER"
	// Establish leases on filesystem objects
	LEASE Capability = "LEASE"
	// Set immutable attributes on files
	LINUX_IMMUTABLE Capability = "LINUX_IMMUTABLE"
	// Modify priority for arbitrary processes
	SYS_NICE Capability = "SYS_NICE"
	// Trace arbitrary processes using ptrace
	SYS_PTRACE Capability = "SYS_PTRACE"
	// Override resource limits
	SYS_RESOURCE Capability = "SYS_RESOURCE"
	// Set alarm to wake system
	WAKE_ALARM Capability = "WAKE_ALARM"
)

Process and resource management capabilities

const (
	// Perform network administration tasks
	NET_ADMIN Capability = "NET_ADMIN"
	// Broadcast and listen to multicast
	NET_BROADCAST Capability = "NET_BROADCAST"
)

Network administration capabilities

const (
	// Configure MAC (Mandatory Access Control) policy
	MAC_ADMIN Capability = "MAC_ADMIN"
	// Override MAC policy
	MAC_OVERRIDE Capability = "MAC_OVERRIDE"
	// Access perf_event Open() hypercall
	PERFMON Capability = "PERFMON"
)

Security policy capabilities

const ALL Capability = "ALL"

ALL all capabilities

type CgroupMode

type CgroupMode = container.CgroupnsMode

CgroupMode is container.CgroupnsMode.

type ConsoleSize

type ConsoleSize [2]uint

ConsoleSize is the Docker HostConfig console size (height, width).

type Cpuset

type Cpuset string

Cpuset is a Docker CpusetCpus / CpusetMems list, such as "0-3,5".

func ParseCpuset

func ParseCpuset(list string) (Cpuset, error)

ParseCpuset checks a cpuset list and returns it.

func (Cpuset) String

func (s Cpuset) String() string

String returns the cpuset list.

type Device

type Device = container.DeviceMapping

Device is container.DeviceMapping.

type DeviceRequest

type DeviceRequest = container.DeviceRequest

DeviceRequest is container.DeviceRequest.

type IpcMode

type IpcMode = container.IpcMode

IpcMode is container.IpcMode.

func IpcContainer

func IpcContainer(name string) IpcMode

IpcContainer joins the named container's IPC namespace.

type Isolation

type Isolation = container.Isolation

Isolation is container.Isolation.

type MergedConfig

type MergedConfig struct {
	Container *container.Config         // the container configuration
	Host      *container.HostConfig     // the host configuration
	Network   *network.NetworkingConfig // the network configuration
	Platform  *ocispec.Platform         // the platform configuration
}

MergedConfig is the Docker SDK create config for a container.

type MountConsistency

type MountConsistency = mount.Consistency

MountConsistency is a bind-mount consistency mode.

type MountPropagation

type MountPropagation = mount.Propagation

MountPropagation is a bind-mount propagation mode.

type MountType

type MountType = mount.Type

MountType is a volume/bind/tmpfs mount type.

type NanoCPUs

type NanoCPUs = composetypes.NanoCPUs

NanoCPUs is Compose composetypes.NanoCPUs.

type NetworkMode

type NetworkMode = container.NetworkMode

NetworkMode is container.NetworkMode.

var (
	NetworkBridge NetworkMode = network.NetworkBridge
	NetworkHost   NetworkMode = network.NetworkHost
	NetworkNone   NetworkMode = network.NetworkNone
)

func NetworkContainer

func NetworkContainer(name string) NetworkMode

NetworkContainer joins the named container's network namespace.

type PidMode

type PidMode = container.PidMode

PidMode is container.PidMode.

var PidHost PidMode = "host"

PidHost uses the host PID namespace.

func PidContainer

func PidContainer(name string) PidMode

PidContainer joins the named container's PID namespace.

type PortBinding

type PortBinding struct {
	Protocol      Protocol
	HostIP        string
	HostPort      string
	ContainerPort string
}

PortBinding publishes one container port on the host. Host() is the nat.PortBinding; Protocol and ContainerPort become the nat.Port map key. An empty Protocol is treated as TCP, and an empty HostIP as 0.0.0.0, when the binding is applied.

func NewPortBinding

func NewPortBinding(protocol Protocol, hostIP string, hostPort string, containerPort string) PortBinding

func (PortBinding) Host

func (p PortBinding) Host() nat.PortBinding

Host returns the Docker nat.PortBinding.

type Protocol

type Protocol string

Protocol is a published port protocol, as used by nat.Port.

const (
	TCP  Protocol = "tcp"
	UDP  Protocol = "udp"
	SCTP Protocol = "sctp"
)

type Resources

type Resources = composetypes.Resource

Resources is Compose composetypes.Resource (deploy limits / reservations).

type RestartPolicy

type RestartPolicy = container.RestartPolicyMode

RestartPolicy is container.RestartPolicyMode.

type UTSMode

type UTSMode = container.UTSMode

UTSMode is container.UTSMode.

var UTSHost UTSMode = "host"

UTSHost uses the host UTS namespace.

type Ulimit

type Ulimit = container.Ulimit

Ulimit is container.Ulimit.

type UserNSMode

type UserNSMode = container.UsernsMode

UserNSMode is container.UsernsMode.

var (
	UserNSHost    UserNSMode = "host"
	UserNSPrivate UserNSMode
)

Jump to

Keyboard shortcuts

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