Documentation
¶
Overview ¶
Package runtime provides interfaces describing container runtimes in generic way and their functionality.
Index ¶
- type Config
- type Fake
- func (f Fake) Copy(id string, files []*types.File) error
- func (f Fake) Create(config *types.ContainerConfig) (string, error)
- func (f Fake) Delete(id string) error
- func (f Fake) Read(id string, srcPath []string) ([]*types.File, error)
- func (f Fake) Start(id string) error
- func (f Fake) Stat(id string, paths []string) (map[string]os.FileMode, error)
- func (f Fake) Status(id string) (types.ContainerStatus, error)
- func (f Fake) Stop(id string) error
- type FakeConfig
- type Runtime
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
Config defines interface for runtime configuration. Since some feature are generic to runtime, this interface make sure that other parts of the system are compatible with it.
type Fake ¶ added in v0.2.0
type Fake struct {
CreateF func(config *types.ContainerConfig) (string, error)
DeleteF func(id string) error
StartF func(id string) error
StatusF func(id string) (types.ContainerStatus, error)
StopF func(id string) error
CopyF func(id string, files []*types.File) error
ReadF func(id string, srcPath []string) ([]*types.File, error)
StatF func(id string, paths []string) (map[string]os.FileMode, error)
}
Fake is a fake runtime client, which can be used for testing.
func (Fake) Create ¶ added in v0.2.0
func (f Fake) Create(config *types.ContainerConfig) (string, error)
Create mocks runtime Create().
type FakeConfig ¶ added in v0.2.0
FakeConfig is a Fake runtime configuration struct.
func (FakeConfig) GetAddress ¶ added in v0.2.0
func (c FakeConfig) GetAddress() string
GetAddress implements runtime.Config interface.
func (FakeConfig) New ¶ added in v0.2.0
func (c FakeConfig) New() (Runtime, error)
New implements runtime.Config interface.
func (FakeConfig) SetAddress ¶ added in v0.2.0
func (c FakeConfig) SetAddress(a string)
SetAddress implements runtime.Config interface.
type Runtime ¶
type Runtime interface {
// Create creates container and returns it's unique identifier
Create(config *types.ContainerConfig) (string, error)
// Delete removes the container
Delete(ID string) error
// Start starts created container
Start(ID string) error
// Status returns status of the container
Status(ID string) (types.ContainerStatus, error)
// Stop takes unique identifier as a parameter and stops the container
Stop(ID string) error
// Copy allows to copy TAR archive into the container
//
// Docker currently does not allow to copy multiple files over https://github.com/moby/moby/issues/7710
// It seems kubelet does https://github.com/kubernetes/kubernetes/pull/72641/files
// TODO consider batching copying and reading
Copy(ID string, files []*types.File) error
// Read allows to read file in TAR archive format from container
// TODO check if we should return some information about read file
Read(ID string, srcPath []string) ([]*types.File, error)
// Stat returns os.FileMode for requested files from inside the container
// TODO this should be improved
Stat(ID string, paths []string) (map[string]os.FileMode, error)
}
Runtime interface describes universal way of managing containers across different container runtimes.