package runtime
import "github.com/Microsoft/hcsshim/internal/guest/runtime"
Package runtime defines the interface between the GCS and an OCI container runtime.
Index ¶
- Variables
- type Container
- type ContainerProcessState
- type ContainerState
- type Process
- type Runtime
- type StdioPipes
Variables ¶
var ( ErrContainerAlreadyExists = gcserr.WrapHresult(errors.New("container already exist"), gcserr.HrVmcomputeSystemAlreadyExists) ErrContainerDoesNotExist = gcserr.WrapHresult(errors.New("container does not exist"), gcserr.HrVmcomputeSystemNotFound) ErrContainerStillRunning = gcserr.WrapHresult(errors.New("container still running"), gcserr.HrVmcomputeInvalidState) ErrContainerNotRunning = gcserr.WrapHresult(errors.New("container not running"), gcserr.HrVmcomputeSystemAlreadyStopped) ErrContainerNotStopped = gcserr.WrapHresult(errors.New("container not stopped"), gcserr.HrVmcomputeInvalidState) ErrInvalidContainerID = gcserr.WrapHresult(errors.New("invalid container ID"), gcserr.HrErrInvalidArg) )
Types ¶
type Container ¶
type Container interface { Process ID() string Exists() (bool, error) Start() error ExecProcess(process *oci.Process, stdioSet *stdio.ConnectionSet) (p Process, err error) Kill(signal syscall.Signal) error Pause() error Resume() error GetState() (*ContainerState, error) GetRunningProcesses() ([]ContainerProcessState, error) GetAllProcesses() ([]ContainerProcessState, error) GetInitProcess() (Process, error) Update(resources interface{}) error }
Container is an interface to manipulate container state.
type ContainerProcessState ¶
ContainerProcessState gives information about a process created by a Runtime.
type ContainerState ¶
type ContainerState struct { OCIVersion string ID string Pid int BundlePath string RootfsPath string Status string Created string }
ContainerState gives information about a container created by a Runtime.
type Process ¶
type Process interface { Wait() (int, error) Pid() int Delete() error Tty() *stdio.TtyRelay PipeRelay() *stdio.PipeRelay }
Process is an interface to manipulate process state.
type Runtime ¶
type Runtime interface { CreateContainer(id string, bundlePath string, stdioSet *stdio.ConnectionSet) (c Container, err error) ListContainerStates() ([]ContainerState, error) }
Runtime is the interface defining commands over an OCI container runtime, such as runC.
type StdioPipes ¶
type StdioPipes struct { In io.WriteCloser Out io.ReadCloser Err io.ReadCloser }
StdioPipes contain the interfaces for reading from and writing to a process's stdio.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
internal/guest/runtime/hcsv2 | |
internal/guest/runtime/runc | Package runc defines an implementation of the Runtime interface which uses runC as the container runtime. |
- Version
- v0.12.9 (latest)
- Published
- Oct 30, 2024
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 14 hours ago –
Tools for package owners.