package crunchrun
import (
+ "context"
"io"
"git.arvados.org/arvados.git/sdk/go/arvados"
- "golang.org/x/net/context"
)
type bindmount struct {
}
type containerSpec struct {
- Image string
- VCPUs int
- RAM int64
- WorkingDir string
- Env map[string]string
- BindMounts map[string]bindmount
- Command []string
- EnableNetwork bool
- NetworkMode string // docker network mode, normally "default"
- CgroupParent string
- Stdin io.Reader
- Stdout io.Writer
- Stderr io.Writer
+ Image string
+ VCPUs int
+ RAM int64
+ WorkingDir string
+ Env map[string]string
+ BindMounts map[string]bindmount
+ Command []string
+ EnableNetwork bool
+ CUDADeviceCount int
+ NetworkMode string // docker network mode, normally "default"
+ CgroupParent string
+ Stdin io.Reader
+ Stdout io.Writer
+ Stderr io.Writer
}
// containerExecutor is an interface to a container runtime
// Start the container
Start() error
- // CID the container will belong to
- CgroupID() string
+ // Process ID of a process in the container. Return 0 if
+ // container is finished or no process has started yet.
+ Pid() int
// Stop the container immediately
Stop() error
// Release resources (temp dirs, stopped containers)
Close()
+
+ // Name and version of runtime engine ("docker 20.10.16", "singularity-ce version 3.9.9")
+ Runtime() string
+
+ GatewayTarget
}