| package execdriver |
| |
| import "github.com/docker/go-connections/nat" |
| |
| // Mount contains information for a mount operation. |
| type Mount struct { |
| Source string `json:"source"` |
| Destination string `json:"destination"` |
| Writable bool `json:"writable"` |
| } |
| |
| // Resources contains all resource configs for a driver. |
| // Currently these are all for cgroup configs. |
| type Resources struct { |
| CommonResources |
| |
| // Fields below here are platform specific |
| } |
| |
| // ProcessConfig is the platform specific structure that describes a process |
| // that will be run inside a container. |
| type ProcessConfig struct { |
| CommonProcessConfig |
| |
| // Fields below here are platform specific |
| ConsoleSize [2]int `json:"-"` // h,w of initial console size |
| } |
| |
| // Network settings of the container |
| type Network struct { |
| Interface *NetworkInterface `json:"interface"` |
| ContainerID string `json:"container_id"` // id of the container to join network. |
| } |
| |
| // NetworkInterface contains network configs for a driver |
| type NetworkInterface struct { |
| MacAddress string `json:"mac"` |
| Bridge string `json:"bridge"` |
| IPAddress string `json:"ip"` |
| |
| // PortBindings is the port mapping between the exposed port in the |
| // container and the port on the host. |
| PortBindings nat.PortMap `json:"port_bindings"` |
| } |
| |
| // Command wraps an os/exec.Cmd to add more metadata |
| type Command struct { |
| CommonCommand |
| |
| // Fields below here are platform specific |
| |
| FirstStart bool `json:"first_start"` // Optimisation for first boot of Windows |
| Hostname string `json:"hostname"` // Windows sets the hostname in the execdriver |
| LayerFolder string `json:"layer_folder"` // Layer folder for a command |
| LayerPaths []string `json:"layer_paths"` // Layer paths for a command |
| Isolation string `json:"isolation"` // Isolation level for the container |
| ArgsEscaped bool `json:"args_escaped"` // True if args are already escaped |
| HvPartition bool `json:"hv_partition"` // True if it's an hypervisor partition |
| } |
| |
| // ExitStatus provides exit reasons for a container. |
| type ExitStatus struct { |
| // The exit code with which the container exited. |
| ExitCode int |
| } |