Documentation
¶
Index ¶
Constants ¶
View Source
const ( DockerRuntime = "docker" ContainerdRuntime = "containerd" )
Variables ¶
View Source
var ContainerRuntimes = map[string]Initializer{}
Functions ¶
func Register ¶ added in v0.15.0
func Register(name string, initFn Initializer)
Types ¶
type ContainerRuntime ¶
type ContainerRuntime interface {
// Intializes the Container runtime struct
Init(...RuntimeOption) error
// Adds custom configuration items to the container runtime struct
WithConfig(*RuntimeConfig)
// Set the network management details (generated by the config.go)
WithMgmtNet(*types.MgmtNet)
// Create container (bridge) network
CreateNet(context.Context) error
// Delete container (bridge) network
DeleteNet(context.Context) error
// Pull container image if not present
PullImageIfRequired(context.Context, string) error
// Create container
CreateContainer(context.Context, *types.NodeConfig) error
// Start pre-created container by its name
StartContainer(context.Context, string) error
// Stop running container by its name
StopContainer(context.Context, string, *time.Duration) error
// List all containers matching labels
ListContainers(context.Context, []*types.GenericFilter) ([]types.GenericContainer, error)
// Get a netns path using the pid of a container
GetNSPath(context.Context, string) (string, error)
// Executes cmd on container identified with id and returns stdout, stderr bytes and an error
Exec(context.Context, string, []string) ([]byte, []byte, error)
// ExecNotWait executes cmd on container identified with id but doesn't wait for output nor attaches stodout/err
ExecNotWait(context.Context, string, []string) error
// Delete container by its name
DeleteContainer(context.Context, *types.GenericContainer) error
}
type Initializer ¶ added in v0.15.0
type Initializer func() ContainerRuntime
type RuntimeConfig ¶ added in v0.15.0
type RuntimeOption ¶ added in v0.15.0
type RuntimeOption func(ContainerRuntime)
func WithConfig ¶ added in v0.15.0
func WithConfig(cfg *RuntimeConfig) RuntimeOption
func WithMgmtNet ¶ added in v0.15.0
func WithMgmtNet(mgmt *types.MgmtNet) RuntimeOption
Click to show internal directories.
Click to hide internal directories.