runtime

package
v0.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package runtime is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BindMount added in v0.5.1

type BindMount struct {
	HostPath      string
	ContainerPath string
	ReadOnly      bool
}

BindMount represents a host-to-container bind mount.

type ContainerConfig

type ContainerConfig struct {
	Image         string
	Name          string
	EmulatorType  config.EmulatorType
	Port          string
	ContainerPort string // internal port the emulator listens on inside the container (e.g. "4566/tcp")
	BindHost      string // host IP to bind published ports to (e.g. "127.0.0.1" or "0.0.0.0"); defaults to loopback when empty
	HealthPath    string
	Env           []string // e.g., ["KEY=value", "FOO=bar"]
	Tag           string
	ProductName   string
	Binds         []BindMount
	ExtraPorts    []PortMapping
}

type DockerRuntime

type DockerRuntime struct {
	// contains filtered or unexported fields
}

func NewDockerRuntime

func NewDockerRuntime(dockerHost string) (*DockerRuntime, error)

func (*DockerRuntime) ContainerEnv added in v0.9.0

func (d *DockerRuntime) ContainerEnv(ctx context.Context, containerName string) ([]string, error)

func (*DockerRuntime) ContainerStartedAt added in v0.5.0

func (d *DockerRuntime) ContainerStartedAt(ctx context.Context, containerName string) (time.Time, error)

func (*DockerRuntime) EmitUnhealthyError added in v0.2.0

func (d *DockerRuntime) EmitUnhealthyError(sink output.Sink, err error)

func (*DockerRuntime) FindRunningByImage added in v0.6.0

func (d *DockerRuntime) FindRunningByImage(ctx context.Context, imageRepos []string, containerPort string) (*RunningContainer, error)

func (*DockerRuntime) GetBoundPort added in v0.5.2

func (d *DockerRuntime) GetBoundPort(ctx context.Context, containerName string, containerPort string) (string, error)

func (*DockerRuntime) GetImageVersion

func (d *DockerRuntime) GetImageVersion(ctx context.Context, imageName string) (string, error)

func (*DockerRuntime) ImageExists added in v0.14.0

func (d *DockerRuntime) ImageExists(ctx context.Context, image string) (bool, error)

func (*DockerRuntime) IsHealthy added in v0.2.0

func (d *DockerRuntime) IsHealthy(ctx context.Context) error

func (*DockerRuntime) IsRunning

func (d *DockerRuntime) IsRunning(ctx context.Context, containerID string) (bool, error)

func (*DockerRuntime) Logs

func (d *DockerRuntime) Logs(ctx context.Context, containerID string, tail int) (string, error)

func (*DockerRuntime) PullImage

func (d *DockerRuntime) PullImage(ctx context.Context, imageName string, progress chan<- PullProgress) error

func (*DockerRuntime) Remove

func (d *DockerRuntime) Remove(ctx context.Context, containerName string) error

func (*DockerRuntime) SocketPath added in v0.5.1

func (d *DockerRuntime) SocketPath() string

SocketPath returns the daemon-visible Unix socket path to bind-mount into containers so LocalStack can launch nested workloads such as Lambda functions. For VM-based Docker (Colima, OrbStack) returns /var/run/docker.sock as the socket is remapped inside the VM. For rootless or custom setups, returns the actual socket path extracted from the daemon host.

func (*DockerRuntime) Start

func (d *DockerRuntime) Start(ctx context.Context, config ContainerConfig) (string, <-chan ExitResult, error)

func (*DockerRuntime) Stop

func (d *DockerRuntime) Stop(ctx context.Context, containerName string) error

func (*DockerRuntime) StreamLogs

func (d *DockerRuntime) StreamLogs(ctx context.Context, containerID string, out io.Writer, follow bool, tail string) error

type ExitResult added in v0.18.0

type ExitResult struct {
	ExitCode int   // -1 when unknown
	Err      error // wait itself failed (exit code unknown)
}

ExitResult reports a container's exit as observed by the exit wait that Start registers.

type MockRuntime added in v0.2.0

type MockRuntime struct {
	// contains filtered or unexported fields
}

MockRuntime is a mock of Runtime interface.

func NewMockRuntime added in v0.2.0

func NewMockRuntime(ctrl *gomock.Controller) *MockRuntime

NewMockRuntime creates a new mock instance.

func (*MockRuntime) ContainerEnv added in v0.9.0

func (m *MockRuntime) ContainerEnv(ctx context.Context, containerName string) ([]string, error)

ContainerEnv mocks base method.

func (*MockRuntime) ContainerStartedAt added in v0.5.0

func (m *MockRuntime) ContainerStartedAt(ctx context.Context, containerName string) (time.Time, error)

ContainerStartedAt mocks base method.

func (*MockRuntime) EXPECT added in v0.2.0

func (m *MockRuntime) EXPECT() *MockRuntimeMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockRuntime) EmitUnhealthyError added in v0.2.0

func (m *MockRuntime) EmitUnhealthyError(sink output.Sink, err error)

EmitUnhealthyError mocks base method.

func (*MockRuntime) FindRunningByImage added in v0.6.0

func (m *MockRuntime) FindRunningByImage(ctx context.Context, imageRepos []string, containerPort string) (*RunningContainer, error)

FindRunningByImage mocks base method.

func (*MockRuntime) GetBoundPort added in v0.5.2

func (m *MockRuntime) GetBoundPort(ctx context.Context, containerName, containerPort string) (string, error)

GetBoundPort mocks base method.

func (*MockRuntime) GetImageVersion added in v0.2.0

func (m *MockRuntime) GetImageVersion(ctx context.Context, imageName string) (string, error)

GetImageVersion mocks base method.

func (*MockRuntime) ImageExists added in v0.14.0

func (m *MockRuntime) ImageExists(ctx context.Context, image string) (bool, error)

ImageExists mocks base method.

func (*MockRuntime) IsHealthy added in v0.2.0

func (m *MockRuntime) IsHealthy(ctx context.Context) error

IsHealthy mocks base method.

func (*MockRuntime) IsRunning added in v0.2.0

func (m *MockRuntime) IsRunning(ctx context.Context, containerID string) (bool, error)

IsRunning mocks base method.

func (*MockRuntime) Logs added in v0.2.0

func (m *MockRuntime) Logs(ctx context.Context, containerID string, tail int) (string, error)

Logs mocks base method.

func (*MockRuntime) PullImage added in v0.2.0

func (m *MockRuntime) PullImage(ctx context.Context, image string, progress chan<- PullProgress) error

PullImage mocks base method.

func (*MockRuntime) Remove added in v0.2.0

func (m *MockRuntime) Remove(ctx context.Context, containerName string) error

Remove mocks base method.

func (*MockRuntime) SocketPath added in v0.5.1

func (m *MockRuntime) SocketPath() string

SocketPath mocks base method.

func (*MockRuntime) Start added in v0.2.0

func (m *MockRuntime) Start(ctx context.Context, config ContainerConfig) (string, <-chan ExitResult, error)

Start mocks base method.

func (*MockRuntime) Stop added in v0.2.0

func (m *MockRuntime) Stop(ctx context.Context, containerName string) error

Stop mocks base method.

func (*MockRuntime) StreamLogs added in v0.2.0

func (m *MockRuntime) StreamLogs(ctx context.Context, containerID string, out io.Writer, follow bool, tail string) error

StreamLogs mocks base method.

type MockRuntimeMockRecorder added in v0.2.0

type MockRuntimeMockRecorder struct {
	// contains filtered or unexported fields
}

MockRuntimeMockRecorder is the mock recorder for MockRuntime.

func (*MockRuntimeMockRecorder) ContainerEnv added in v0.9.0

func (mr *MockRuntimeMockRecorder) ContainerEnv(ctx, containerName any) *gomock.Call

ContainerEnv indicates an expected call of ContainerEnv.

func (*MockRuntimeMockRecorder) ContainerStartedAt added in v0.5.0

func (mr *MockRuntimeMockRecorder) ContainerStartedAt(ctx, containerName any) *gomock.Call

ContainerStartedAt indicates an expected call of ContainerStartedAt.

func (*MockRuntimeMockRecorder) EmitUnhealthyError added in v0.2.0

func (mr *MockRuntimeMockRecorder) EmitUnhealthyError(sink, err any) *gomock.Call

EmitUnhealthyError indicates an expected call of EmitUnhealthyError.

func (*MockRuntimeMockRecorder) FindRunningByImage added in v0.6.0

func (mr *MockRuntimeMockRecorder) FindRunningByImage(ctx, imageRepos, containerPort any) *gomock.Call

FindRunningByImage indicates an expected call of FindRunningByImage.

func (*MockRuntimeMockRecorder) GetBoundPort added in v0.5.2

func (mr *MockRuntimeMockRecorder) GetBoundPort(ctx, containerName, containerPort any) *gomock.Call

GetBoundPort indicates an expected call of GetBoundPort.

func (*MockRuntimeMockRecorder) GetImageVersion added in v0.2.0

func (mr *MockRuntimeMockRecorder) GetImageVersion(ctx, imageName any) *gomock.Call

GetImageVersion indicates an expected call of GetImageVersion.

func (*MockRuntimeMockRecorder) ImageExists added in v0.14.0

func (mr *MockRuntimeMockRecorder) ImageExists(ctx, image any) *gomock.Call

ImageExists indicates an expected call of ImageExists.

func (*MockRuntimeMockRecorder) IsHealthy added in v0.2.0

func (mr *MockRuntimeMockRecorder) IsHealthy(ctx any) *gomock.Call

IsHealthy indicates an expected call of IsHealthy.

func (*MockRuntimeMockRecorder) IsRunning added in v0.2.0

func (mr *MockRuntimeMockRecorder) IsRunning(ctx, containerID any) *gomock.Call

IsRunning indicates an expected call of IsRunning.

func (*MockRuntimeMockRecorder) Logs added in v0.2.0

func (mr *MockRuntimeMockRecorder) Logs(ctx, containerID, tail any) *gomock.Call

Logs indicates an expected call of Logs.

func (*MockRuntimeMockRecorder) PullImage added in v0.2.0

func (mr *MockRuntimeMockRecorder) PullImage(ctx, image, progress any) *gomock.Call

PullImage indicates an expected call of PullImage.

func (*MockRuntimeMockRecorder) Remove added in v0.2.0

func (mr *MockRuntimeMockRecorder) Remove(ctx, containerName any) *gomock.Call

Remove indicates an expected call of Remove.

func (*MockRuntimeMockRecorder) SocketPath added in v0.5.1

func (mr *MockRuntimeMockRecorder) SocketPath() *gomock.Call

SocketPath indicates an expected call of SocketPath.

func (*MockRuntimeMockRecorder) Start added in v0.2.0

func (mr *MockRuntimeMockRecorder) Start(ctx, config any) *gomock.Call

Start indicates an expected call of Start.

func (*MockRuntimeMockRecorder) Stop added in v0.2.0

func (mr *MockRuntimeMockRecorder) Stop(ctx, containerName any) *gomock.Call

Stop indicates an expected call of Stop.

func (*MockRuntimeMockRecorder) StreamLogs added in v0.2.0

func (mr *MockRuntimeMockRecorder) StreamLogs(ctx, containerID, out, follow, tail any) *gomock.Call

StreamLogs indicates an expected call of StreamLogs.

type PortMapping added in v0.5.1

type PortMapping struct {
	ContainerPort string
	HostPort      string
	Protocol      string // "tcp" (default) or "udp"
}

PortMapping represents a container-to-host port mapping.

type PullProgress

type PullProgress struct {
	LayerID string
	Status  string
	Current int64
	Total   int64
}

type RunningContainer added in v0.6.0

type RunningContainer struct {
	Name      string
	Image     string // full image with tag, e.g. "localstack/localstack-pro:3.5.0"
	BoundPort string // host port bound to the queried container port
}

type Runtime

type Runtime interface {
	IsHealthy(ctx context.Context) error
	EmitUnhealthyError(sink output.Sink, err error)
	PullImage(ctx context.Context, image string, progress chan<- PullProgress) error
	// Start creates and starts the container. The returned channel receives
	// exactly one ExitResult when the container exits. The exit wait is
	// registered between create and start so that even an instantly-exiting
	// container's exit code is observed — with AutoRemove the container is
	// removed the moment it exits, after which a wait can no longer be
	// registered.
	Start(ctx context.Context, config ContainerConfig) (string, <-chan ExitResult, error)
	Stop(ctx context.Context, containerName string) error
	Remove(ctx context.Context, containerName string) error
	IsRunning(ctx context.Context, containerID string) (bool, error)
	ContainerStartedAt(ctx context.Context, containerName string) (time.Time, error)
	ContainerEnv(ctx context.Context, containerName string) ([]string, error)
	Logs(ctx context.Context, containerID string, tail int) (string, error)
	StreamLogs(ctx context.Context, containerID string, out io.Writer, follow bool, tail string) error
	GetImageVersion(ctx context.Context, imageName string) (string, error)
	// ImageExists reports whether the given image is already present locally.
	ImageExists(ctx context.Context, image string) (bool, error)
	// GetBoundPort returns the host port bound to the given container port (e.g. "4566/tcp").
	GetBoundPort(ctx context.Context, containerName string, containerPort string) (string, error)
	FindRunningByImage(ctx context.Context, imageRepos []string, containerPort string) (*RunningContainer, error)
	SocketPath() string
}

Runtime abstracts container runtime operations (Docker, Podman, Kubernetes, etc.)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL