Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Capabilities ¶
type Capabilities []*Capability
func (Capabilities) Contains ¶
func (c Capabilities) Contains(capp string) bool
Contains returns true if the specified Capability is in the slice
type Capability ¶
type Capability struct { Key string Value capability.Cap }
func GetCapability ¶
func GetCapability(key string) *Capability
func (*Capability) MarshalJSON ¶
func (c *Capability) MarshalJSON() ([]byte, error)
func (*Capability) String ¶
func (c *Capability) String() string
func (*Capability) UnmarshalJSON ¶
func (c *Capability) UnmarshalJSON(src []byte) error
type Container ¶
type Container struct { Hostname string `json:"hostname,omitempty"` // hostname ReadonlyFs bool `json:"readonly_fs,omitempty"` // set the containers rootfs as readonly NoPivotRoot bool `json:"no_pivot_root,omitempty"` // this can be enabled if you are running in ramdisk User string `json:"user,omitempty"` // user to execute the process as WorkingDir string `json:"working_dir,omitempty"` // current working directory Env []string `json:"environment,omitempty"` // environment to set Tty bool `json:"tty,omitempty"` // setup a proper tty or not Namespaces Namespaces `json:"namespaces,omitempty"` // namespaces to apply CapabilitiesMask Capabilities `json:"capabilities_mask,omitempty"` // capabilities to drop Networks []*Network `json:"networks,omitempty"` // nil for host's network stack Cgroups *cgroups.Cgroup `json:"cgroups,omitempty"` // cgroups Context Context `json:"context,omitempty"` // generic context for specific options (apparmor, selinux) Mounts []Mount `json:"mounts,omitempty"` }
Container defines configuration options for how a container is setup inside a directory and how a process should be executed
type Mount ¶
type Mount struct { Source string `json:"source"` // Source path, in the host namespace Destination string `json:"destination"` // Destination path, in the container Writable bool `json:"writable"` Private bool `json:"private"` }
Bind mounts from the host system to the container
type Namespace ¶
func GetNamespace ¶
func (*Namespace) MarshalJSON ¶
func (*Namespace) UnmarshalJSON ¶
type Namespaces ¶
type Namespaces []*Namespace
func (Namespaces) Contains ¶
func (n Namespaces) Contains(ns string) bool
Contains returns true if the specified Namespace is in the slice
type Network ¶
type Network struct { Type string `json:"type,omitempty"` // type of networking to setup i.e. veth, macvlan, etc Context Context `json:"context,omitempty"` // generic context for type specific networking options Address string `json:"address,omitempty"` Gateway string `json:"gateway,omitempty"` Mtu int `json:"mtu,omitempty"` }
Network defines configuration for a container's networking stack
The network configuration can be omited from a container causing the container to be setup with the host's networking stack
Click to show internal directories.
Click to hide internal directories.