Documentation ¶
Index ¶
- Constants
- func CreateConfigToOCISpec(config *CreateConfig) (*spec.Spec, error)
- func CreatePortBinding(hostPort int, hostIP string) []nat.PortBinding
- func Device(d *configs.Device) spec.LinuxDevice
- func ExposedPorts(expose, publish []string, publishAll bool, ...) (map[nat.Port][]nat.PortBinding, error)
- type CreateConfig
- func (c *CreateConfig) AddPrivilegedDevices(g *generate.Generator) error
- func (c *CreateConfig) CreateBlockIO() (*spec.LinuxBlockIO, error)
- func (c *CreateConfig) CreatePortBindings() ([]ocicni.PortMapping, error)
- func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime) ([]libpod.CtrCreateOption, error)
- func (c *CreateConfig) GetTmpfsMounts() []spec.Mount
- func (c *CreateConfig) GetVolumeMounts(specMounts []spec.Mount) ([]spec.Mount, error)
- type CreateResourceConfig
Constants ¶
const ( // TypeBind is the type for mounting host dir TypeBind mountType = "bind" // TypeVolume is the type for remote storage volumes // TypeVolume mountType = "volume" // re-enable upon use // TypeTmpfs is the type for mounting tmpfs TypeTmpfs mountType = "tmpfs" )
Type constants
Variables ¶
This section is empty.
Functions ¶
func CreateConfigToOCISpec ¶
func CreateConfigToOCISpec(config *CreateConfig) (*spec.Spec, error)
CreateConfigToOCISpec parses information needed to create a container into an OCI runtime spec
func CreatePortBinding ¶
func CreatePortBinding(hostPort int, hostIP string) []nat.PortBinding
CreatePortBinding takes port (int) and IP (string) and creates an array of portbinding structs
func Device ¶
func Device(d *configs.Device) spec.LinuxDevice
Device transforms a libcontainer configs.Device to a specs.LinuxDevice object.
func ExposedPorts ¶
func ExposedPorts(expose, publish []string, publishAll bool, imageExposedPorts map[string]struct{}) (map[nat.Port][]nat.PortBinding, error)
ExposedPorts parses user and image ports and returns binding information
Types ¶
type CreateConfig ¶
type CreateConfig struct { Runtime *libpod.Runtime Annotations map[string]string Args []string CapAdd []string // cap-add CapDrop []string // cap-drop CidFile string ConmonPidFile string CgroupParent string // cgroup-parent Command []string Detach bool // detach Devices []string // device DNSOpt []string //dns-opt DNSSearch []string //dns-search DNSServers []string //dns Entrypoint []string //entrypoint Env map[string]string //env ExposedPorts map[nat.Port]struct{} GroupAdd []string // group-add HostAdd []string //add-host Hostname string //hostname Image string ImageID string BuiltinImgVolumes map[string]struct{} // volumes defined in the image config IDMappings *storage.IDMappingOptions ImageVolumeType string // how to handle the image volume, either bind, tmpfs, or ignore Interactive bool //interactive IpcMode container.IpcMode //ipc IP6Address string //ipv6 IPAddress string //ip Labels map[string]string //label LinkLocalIP []string // link-local-ip LogDriver string // log-driver LogDriverOpt []string // log-opt MacAddress string //mac-address Name string //name NetMode container.NetworkMode //net Network string //network NetworkAlias []string //network-alias PidMode container.PidMode //pid Pod string //pod PortBindings nat.PortMap Privileged bool //privileged Publish []string //publish PublishAll bool //publish-all Quiet bool //quiet ReadOnlyRootfs bool //read-only Resources CreateResourceConfig Rm bool //rm ShmDir string StopSignal syscall.Signal // stop-signal StopTimeout uint // stop-timeout Sysctl map[string]string //sysctl Tmpfs []string // tmpfs Tty bool //tty UsernsMode container.UsernsMode //userns User string //user UtsMode container.UTSMode //uts Volumes []string //volume WorkDir string //workdir MountLabel string //SecurityOpts ProcessLabel string //SecurityOpts NoNewPrivs bool //SecurityOpts ApparmorProfile string //SecurityOpts SeccompProfilePath string //SecurityOpts SecurityOpts []string Rootfs string }
CreateConfig is a pre OCI spec structure. It represents user input from varlink or the CLI
func (*CreateConfig) AddPrivilegedDevices ¶
func (c *CreateConfig) AddPrivilegedDevices(g *generate.Generator) error
AddPrivilegedDevices iterates through host devices and adds all host devices to the spec
func (*CreateConfig) CreateBlockIO ¶
func (c *CreateConfig) CreateBlockIO() (*spec.LinuxBlockIO, error)
CreateBlockIO returns a LinuxBlockIO struct from a CreateConfig
func (*CreateConfig) CreatePortBindings ¶
func (c *CreateConfig) CreatePortBindings() ([]ocicni.PortMapping, error)
CreatePortBindings iterates ports mappings and exposed ports into a format CNI understands
func (*CreateConfig) GetContainerCreateOptions ¶
func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime) ([]libpod.CtrCreateOption, error)
GetContainerCreateOptions takes a CreateConfig and returns a slice of CtrCreateOptions
func (*CreateConfig) GetTmpfsMounts ¶
func (c *CreateConfig) GetTmpfsMounts() []spec.Mount
GetTmpfsMounts takes user provided input for Tmpfs mounts and creates Mount structs
func (*CreateConfig) GetVolumeMounts ¶
GetVolumeMounts takes user provided input for bind mounts and creates Mount structs
type CreateResourceConfig ¶
type CreateResourceConfig struct { BlkioWeight uint16 // blkio-weight BlkioWeightDevice []string // blkio-weight-device CPUPeriod uint64 // cpu-period CPUQuota int64 // cpu-quota CPURtPeriod uint64 // cpu-rt-period CPURtRuntime int64 // cpu-rt-runtime CPUs float64 // cpus CPUsetCPUs string CPUsetMems string // cpuset-mems DeviceReadBps []string // device-read-bps DeviceReadIOps []string // device-read-iops DeviceWriteBps []string // device-write-bps DeviceWriteIOps []string // device-write-iops DisableOomKiller bool // oom-kill-disable KernelMemory int64 // kernel-memory Memory int64 //memory MemoryReservation int64 // memory-reservation MemorySwap int64 //memory-swap MemorySwappiness int // memory-swappiness OomScoreAdj int //oom-score-adj PidsLimit int64 // pids-limit ShmSize int64 Ulimit []string //ulimit }
CreateResourceConfig represents resource elements in CreateConfig structures