Documentation ¶
Index ¶
- Constants
- Variables
- func ExecCommand(cmd *exec.Cmd, logger *log.Logger) (err error)
- func NewLogWriter(ctx context.Context, store *azure.StorageService, name string, debug io.Writer) (writer io.WriteCloser)
- type DockerBuildOpt
- type DockerClient
- type Expander
- type Object
- type Script
- func (s *Script) Dockerfile() (res []byte, err error)
- func (s *Script) DownloadDataFiles(ctx context.Context) (err error)
- func (s *Script) Entrypoint() (res []byte, err error)
- func (s *Script) PrepareSourceCode(ctx context.Context) (err error)
- func (s *Script) UploadResults(ctx context.Context, store *azure.StorageService) (err error)
Constants ¶
const ( // CompressThreshold defines a threshold. // If uploading stdout files exceed this threshold, they will be compressed. CompressThreshold = 1024 * 1024 // DefaultImage defines the default base image of sandbox containers. DefaultImage = "ubuntu:latest" )
Variables ¶
var ( // RegexpContentDisposition is a regular expression to obtain a file name // from Content-Disposition header. RegexpContentDisposition = regexp.MustCompile(`filename="?([^"]+)"?;?`) )
Functions ¶
func ExecCommand ¶ added in v0.3.4
ExecCommand runs a given command forwarding its outputs to a given logger.
func NewLogWriter ¶ added in v0.2.0
func NewLogWriter(ctx context.Context, store *azure.StorageService, name string, debug io.Writer) (writer io.WriteCloser)
NewLogWriter creates a new writer which writes messages to a given named file in the cloud storage.
Types ¶
type DockerBuildOpt ¶ added in v0.3.0
type DockerBuildOpt struct { ImageName string Dockerfile []byte Entrypoint []byte ContextRoot string }
DockerBuildOpt defines arguments for Build function.
type DockerClient ¶ added in v0.3.0
DockerClient is a simple interface for docker.
func NewDockerClient ¶ added in v0.3.0
func NewDockerClient(logger *log.Logger) (*DockerClient, error)
NewDockerClient creates a new docker client.
func (*DockerClient) Build ¶ added in v0.3.0
func (d *DockerClient) Build(ctx context.Context, opt *DockerBuildOpt) (err error)
Build builds a docker image to run this script.
func (*DockerClient) Close ¶ added in v0.3.0
func (d *DockerClient) Close() error
Close this client.
type Expander ¶
Expander provides methods expanding compressed files.
func NewExpander ¶
NewExpander creates an expander object with a given logger.
func (*Expander) ExpandTarball ¶
ExpandTarball expands a tarball from a given stream and write files in a given directory.
type Object ¶
type Object struct { // Response is a raw response from a http server. Response *http.Response // Name of this object. Name string // Destination where this object should be stored. Dest string // Body is the stream of content body. Body io.ReadCloser }
Object representing a file in a web server.
type Script ¶
Script defines a structure to run commands.
func (*Script) Dockerfile ¶ added in v0.3.0
Dockerfile generates a dockerfile for this script.
func (*Script) DownloadDataFiles ¶
DownloadDataFiles downloads files specified in data section.
func (*Script) Entrypoint ¶ added in v0.3.0
Entrypoint generates an entrypoint script for this script.
func (*Script) PrepareSourceCode ¶
PrepareSourceCode prepares source code defined in a given task.
func (*Script) UploadResults ¶
UploadResults uploads result files.