Documentation ¶
Index ¶
- func GetDockerClient(ctx context.Context) (cli client.APIClient, err error)
- func GetHostInfo(ctx context.Context) (info types.Info, err error)
- func ImageExistsLocally(ctx context.Context, imageName string, platform string) (bool, error)
- func LoadDockerAuthConfig(ctx context.Context, image string) (types.AuthConfig, error)
- func LoadDockerAuthConfigs(ctx context.Context) map[string]types.AuthConfig
- func NewDockerBuildExecutor(input NewDockerBuildExecutorInput) common.Executor
- func NewDockerPullExecutor(input NewDockerPullExecutorInput) common.Executor
- func NewDockerVolumeRemoveExecutor(volume string, force bool) common.Executor
- func RemoveImage(ctx context.Context, imageName string, force bool, pruneChildren bool) (bool, error)
- func RunnerArch(ctx context.Context) string
- type Container
- type ExecutionsEnvironment
- type FileEntry
- type HostEnvironment
- func (e *HostEnvironment) Close() common.Executor
- func (e *HostEnvironment) Copy(destPath string, files ...*FileEntry) common.Executor
- func (e *HostEnvironment) CopyDir(destPath string, srcPath string, useGitIgnore bool) common.Executor
- func (e *HostEnvironment) Create(capAdd []string, capDrop []string) common.Executor
- func (e *HostEnvironment) DefaultPathVariable() string
- func (e *HostEnvironment) Exec(command []string, env map[string]string, user, workdir string) common.Executor
- func (e *HostEnvironment) GetActPath() string
- func (e *HostEnvironment) GetContainerArchive(ctx context.Context, srcPath string) (io.ReadCloser, error)
- func (*HostEnvironment) GetPathVariableName() string
- func (e *HostEnvironment) GetRunnerContext(ctx context.Context) map[string]interface{}
- func (*HostEnvironment) IsEnvironmentCaseInsensitive() bool
- func (*HostEnvironment) JoinPathVariable(paths ...string) string
- func (e *HostEnvironment) Pull(forcePull bool) common.Executor
- func (e *HostEnvironment) Remove() common.Executor
- func (e *HostEnvironment) ReplaceLogWriter(stdout io.Writer, stderr io.Writer) (io.Writer, io.Writer)
- func (e *HostEnvironment) Start(attach bool) common.Executor
- func (e *HostEnvironment) ToContainerPath(path string) string
- func (e *HostEnvironment) UpdateFromEnv(srcPath string, env *map[string]string) common.Executor
- func (e *HostEnvironment) UpdateFromImageEnv(env *map[string]string) common.Executor
- type LinuxContainerEnvironmentExtensions
- func (*LinuxContainerEnvironmentExtensions) DefaultPathVariable() string
- func (*LinuxContainerEnvironmentExtensions) GetActPath() string
- func (*LinuxContainerEnvironmentExtensions) GetPathVariableName() string
- func (*LinuxContainerEnvironmentExtensions) GetRunnerContext(ctx context.Context) map[string]interface{}
- func (*LinuxContainerEnvironmentExtensions) IsEnvironmentCaseInsensitive() bool
- func (*LinuxContainerEnvironmentExtensions) JoinPathVariable(paths ...string) string
- func (*LinuxContainerEnvironmentExtensions) ToContainerPath(path string) string
- type NewContainerInput
- type NewDockerBuildExecutorInput
- type NewDockerPullExecutorInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDockerClient ¶ added in v0.2.9
func GetHostInfo ¶ added in v0.2.26
func ImageExistsLocally ¶
ImageExistsLocally returns a boolean indicating if an image with the requested name, tag and architecture exists in the local docker image store
func LoadDockerAuthConfig ¶ added in v0.2.26
func LoadDockerAuthConfigs ¶ added in v0.2.36
func LoadDockerAuthConfigs(ctx context.Context) map[string]types.AuthConfig
func NewDockerBuildExecutor ¶
func NewDockerBuildExecutor(input NewDockerBuildExecutorInput) common.Executor
NewDockerBuildExecutor function to create a run executor for the container
func NewDockerPullExecutor ¶
func NewDockerPullExecutor(input NewDockerPullExecutorInput) common.Executor
NewDockerPullExecutor function to create a run executor for the container
func NewDockerVolumeRemoveExecutor ¶ added in v0.2.2
func RemoveImage ¶ added in v0.2.22
func RemoveImage(ctx context.Context, imageName string, force bool, pruneChildren bool) (bool, error)
RemoveImage removes image from local store, the function is used to run different container image architectures
func RunnerArch ¶ added in v0.2.31
Arch fetches values from docker info and translates architecture to GitHub actions compatible runner.arch values https://github.com/github/docs/blob/main/data/reusables/actions/runner-arch-description.md
Types ¶
type Container ¶ added in v0.2.2
type Container interface { Create(capAdd []string, capDrop []string) common.Executor Copy(destPath string, files ...*FileEntry) common.Executor CopyDir(destPath string, srcPath string, useGitIgnore bool) common.Executor GetContainerArchive(ctx context.Context, srcPath string) (io.ReadCloser, error) Pull(forcePull bool) common.Executor Start(attach bool) common.Executor Exec(command []string, env map[string]string, user, workdir string) common.Executor UpdateFromEnv(srcPath string, env *map[string]string) common.Executor UpdateFromImageEnv(env *map[string]string) common.Executor Remove() common.Executor Close() common.Executor ReplaceLogWriter(io.Writer, io.Writer) (io.Writer, io.Writer) }
Container for managing docker run containers
type ExecutionsEnvironment ¶ added in v0.2.34
type ExecutionsEnvironment interface { Container ToContainerPath(string) string GetActPath() string GetPathVariableName() string DefaultPathVariable() string JoinPathVariable(...string) string GetRunnerContext(ctx context.Context) map[string]interface{} // On windows PATH and Path are the same key IsEnvironmentCaseInsensitive() bool }
func NewContainer ¶ added in v0.2.2
func NewContainer(input *NewContainerInput) ExecutionsEnvironment
NewContainer creates a reference to a container
type HostEnvironment ¶ added in v0.2.34
type HostEnvironment struct { Path string TmpDir string ToolCache string Workdir string ActPath string CleanUp func() StdOut io.Writer }
func (*HostEnvironment) Close ¶ added in v0.2.34
func (e *HostEnvironment) Close() common.Executor
func (*HostEnvironment) Copy ¶ added in v0.2.34
func (e *HostEnvironment) Copy(destPath string, files ...*FileEntry) common.Executor
func (*HostEnvironment) Create ¶ added in v0.2.34
func (e *HostEnvironment) Create(capAdd []string, capDrop []string) common.Executor
func (*HostEnvironment) DefaultPathVariable ¶ added in v0.2.34
func (e *HostEnvironment) DefaultPathVariable() string
func (*HostEnvironment) GetActPath ¶ added in v0.2.34
func (e *HostEnvironment) GetActPath() string
func (*HostEnvironment) GetContainerArchive ¶ added in v0.2.34
func (e *HostEnvironment) GetContainerArchive(ctx context.Context, srcPath string) (io.ReadCloser, error)
func (*HostEnvironment) GetPathVariableName ¶ added in v0.2.34
func (*HostEnvironment) GetPathVariableName() string
func (*HostEnvironment) GetRunnerContext ¶ added in v0.2.34
func (e *HostEnvironment) GetRunnerContext(ctx context.Context) map[string]interface{}
func (*HostEnvironment) IsEnvironmentCaseInsensitive ¶ added in v0.2.45
func (*HostEnvironment) IsEnvironmentCaseInsensitive() bool
func (*HostEnvironment) JoinPathVariable ¶ added in v0.2.34
func (*HostEnvironment) JoinPathVariable(paths ...string) string
func (*HostEnvironment) Pull ¶ added in v0.2.34
func (e *HostEnvironment) Pull(forcePull bool) common.Executor
func (*HostEnvironment) Remove ¶ added in v0.2.34
func (e *HostEnvironment) Remove() common.Executor
func (*HostEnvironment) ReplaceLogWriter ¶ added in v0.2.34
func (*HostEnvironment) Start ¶ added in v0.2.34
func (e *HostEnvironment) Start(attach bool) common.Executor
func (*HostEnvironment) ToContainerPath ¶ added in v0.2.34
func (e *HostEnvironment) ToContainerPath(path string) string
func (*HostEnvironment) UpdateFromEnv ¶ added in v0.2.34
func (*HostEnvironment) UpdateFromImageEnv ¶ added in v0.2.34
func (e *HostEnvironment) UpdateFromImageEnv(env *map[string]string) common.Executor
type LinuxContainerEnvironmentExtensions ¶ added in v0.2.34
type LinuxContainerEnvironmentExtensions struct { }
func (*LinuxContainerEnvironmentExtensions) DefaultPathVariable ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) DefaultPathVariable() string
func (*LinuxContainerEnvironmentExtensions) GetActPath ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) GetActPath() string
func (*LinuxContainerEnvironmentExtensions) GetPathVariableName ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) GetPathVariableName() string
func (*LinuxContainerEnvironmentExtensions) GetRunnerContext ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) GetRunnerContext(ctx context.Context) map[string]interface{}
func (*LinuxContainerEnvironmentExtensions) IsEnvironmentCaseInsensitive ¶ added in v0.2.45
func (*LinuxContainerEnvironmentExtensions) IsEnvironmentCaseInsensitive() bool
func (*LinuxContainerEnvironmentExtensions) JoinPathVariable ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) JoinPathVariable(paths ...string) string
func (*LinuxContainerEnvironmentExtensions) ToContainerPath ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) ToContainerPath(path string) string
Resolves the equivalent host path inside the container This is required for windows and WSL 2 to translate things like C:\Users\Myproject to /mnt/users/Myproject For use in docker volumes and binds
type NewContainerInput ¶ added in v0.2.2
type NewContainerInput struct { Image string Username string Password string Entrypoint []string Cmd []string WorkingDir string Env []string Binds []string Mounts map[string]string Name string Stdout io.Writer Stderr io.Writer NetworkMode string Privileged bool UsernsMode string Platform string Options string }
NewContainerInput the input for the New function