mirror of
https://github.com/moby/buildkit.git
synced 2026-07-01 04:07:10 +00:00
This allows a frontend to request a specific for stubs removal. By default, if not specified, this will revert to the previous behaviour. New gateway clients however will set the property to the desired recursive removal mode. This property needs to be set for both components that call the executor: for ExecOp, as well as for the StartContainer API. Signed-off-by: Justin Chadwell <me@jedevc.com>
68 lines
1.6 KiB
Go
68 lines
1.6 KiB
Go
package executor
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
"net"
|
|
"syscall"
|
|
|
|
"github.com/moby/buildkit/snapshot"
|
|
"github.com/moby/buildkit/solver/pb"
|
|
)
|
|
|
|
type Meta struct {
|
|
Args []string
|
|
Env []string
|
|
User string
|
|
Cwd string
|
|
Hostname string
|
|
Tty bool
|
|
ReadonlyRootFS bool
|
|
ExtraHosts []HostIP
|
|
Ulimit []*pb.Ulimit
|
|
CgroupParent string
|
|
NetMode pb.NetMode
|
|
SecurityMode pb.SecurityMode
|
|
|
|
RemoveMountStubsRecursive bool
|
|
}
|
|
|
|
type Mountable interface {
|
|
Mount(ctx context.Context, readonly bool) (snapshot.Mountable, error)
|
|
}
|
|
|
|
type Mount struct {
|
|
Src Mountable
|
|
Selector string
|
|
Dest string
|
|
Readonly bool
|
|
}
|
|
|
|
type WinSize struct {
|
|
Rows uint32
|
|
Cols uint32
|
|
}
|
|
|
|
type ProcessInfo struct {
|
|
Meta Meta
|
|
Stdin io.ReadCloser
|
|
Stdout, Stderr io.WriteCloser
|
|
Resize <-chan WinSize
|
|
Signal <-chan syscall.Signal
|
|
}
|
|
|
|
type Executor interface {
|
|
// Run will start a container for the given process with rootfs, mounts.
|
|
// `id` is an optional name for the container so it can be referenced later via Exec.
|
|
// `started` is an optional channel that will be closed when the container setup completes and has started running.
|
|
Run(ctx context.Context, id string, rootfs Mount, mounts []Mount, process ProcessInfo, started chan<- struct{}) error
|
|
// Exec will start a process in container matching `id`. An error will be returned
|
|
// if the container failed to start (via Run) or has exited before Exec is called.
|
|
Exec(ctx context.Context, id string, process ProcessInfo) error
|
|
}
|
|
|
|
type HostIP struct {
|
|
Host string
|
|
IP net.IP
|
|
}
|