Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DockerDriver ¶ added in v0.4.0
type DockerDriver interface {
Driver
// InspectImage inspects the given image name
InspectImage(ctx context.Context, imageName string) (*config.ImageDetails, error)
// GetImageTag returns latest tag for input image id
GetImageTag(ctx context.Context, imageName string) (string, error)
// RunDockerDevContainer runs a docker devcontainer
RunDockerDevContainer(
ctx context.Context,
workspaceId string,
options *RunOptions,
parsedConfig *config.DevContainerConfig,
init *bool,
ide string,
ideOptions map[string]config2.OptionValue,
) error
// BuildDevContainer builds a devcontainer
BuildDevContainer(
ctx context.Context,
prebuildHash string,
parsedConfig *config.SubstitutedConfig,
extendedBuildInfo *feature.ExtendedBuildInfo,
dockerfilePath,
dockerfileContent string,
localWorkspaceFolder string,
options provider.BuildOptions,
) (*config.BuildInfo, error)
// PushDevContainer pushes the given image to a registry
PushDevContainer(ctx context.Context, image string) error
// ComposeHelper returns the compose helper
ComposeHelper() (*compose.ComposeHelper, error)
// DockerHellper returns the docker helper
DockerHelper() (*docker.DockerHelper, error)
}
type Driver ¶
type Driver interface {
// FindDevContainer returns a running devcontainer details
FindDevContainer(ctx context.Context, workspaceID string) (*config.ContainerDetails, error)
// CommandDevContainer runs the given command inside the devcontainer
CommandDevContainer(ctx context.Context, workspaceID, user, command string, stdin io.Reader, stdout io.Writer, stderr io.Writer) error
// RunDevContainer runs a devcontainer
RunDevContainer(ctx context.Context, workspaceID string, options *RunOptions) error
// TargetArchitecture returns the architecture of the container runtime. e.g. amd64 or arm64
TargetArchitecture(ctx context.Context, workspaceID string) (string, error)
// DeleteDevContainer deletes the devcontainer
DeleteDevContainer(ctx context.Context, workspaceID string) error
// StartDevContainer starts the devcontainer
StartDevContainer(ctx context.Context, workspaceID string) error
// StopDevContainer stops the devcontainer
StopDevContainer(ctx context.Context, workspaceID string) error
// GetContainerLogs returns the logs of the devcontainer
GetDevContainerLogs(ctx context.Context, workspaceID string, stdout io.Writer, stderr io.Writer) error
}
Driver is the default interface for DevPod drivers
type ReprovisioningDriver ¶ added in v0.5.4
type RunOptions ¶ added in v0.4.0
type RunOptions struct {
// UID is a unique identifier for this workspace
UID string `json:"uid,omitempty"`
// Image is the image to run
Image string `json:"image,omitempty"`
// User is the user to run the container as
User string `json:"user,omitempty"`
// Entrypoint is the entrypoint of the container
Entrypoint string `json:"entrypoint,omitempty"`
// Cmd are the cmd for the entrypoint
Cmd []string `json:"cmd,omitempty"`
// Env are additional environment variables to set
Env map[string]string `json:"env,omitempty"`
// CapAdd are additional capabilities for the container
CapAdd []string `json:"capAdd,omitempty"`
// SecurityOpt are additional security options
SecurityOpt []string `json:"securityOpt,omitempty"`
// Labels are labels to set on the container
Labels []string `json:"labels,omitempty"`
// Privileged indicates if the container should run with elevated permissions
Privileged *bool `json:"privileged,omitempty"`
// WorkspaceMount is the mount where the workspace should get mounted
WorkspaceMount *config.Mount `json:"workspaceMount,omitempty"`
// Mounts are additional mounts on the container. Supported are volume and bind mounts.
// Bind mounts are expected to get copied from local to remote once. Volume mounts are expected
// to be persisted for the lifetime of the container.
Mounts []*config.Mount `json:"mounts,omitempty"`
}
RunOptions are the options for running a container
Click to show internal directories.
Click to hide internal directories.