roadie

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2017 License: GPL-3.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
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

View Source
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

func ExecCommand(cmd *exec.Cmd, logger *log.Logger) (err error)

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

type DockerClient struct {
	Logger *log.Logger
	// contains filtered or unexported fields
}

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.

func (*DockerClient) Start added in v0.3.0

func (d *DockerClient) Start(ctx context.Context, image string, mounts []mount.Mount) (err error)

Start starts a docker container and executes run section of this script.

type Expander

type Expander struct {
	Logger *log.Logger
}

Expander provides methods expanding compressed files.

func NewExpander

func NewExpander(logger *log.Logger) *Expander

NewExpander creates an expander object with a given logger.

func (*Expander) Expand

func (e *Expander) Expand(ctx context.Context, obj *Object) (err error)

Expand a given object.

func (*Expander) ExpandTarball

func (e *Expander) ExpandTarball(ctx context.Context, in io.Reader, dir string) (err error)

ExpandTarball expands a tarball from a given stream and write files in a given directory.

func (*Expander) ExpandZip

func (e *Expander) ExpandZip(ctx context.Context, in io.Reader, dir string) (err error)

ExpandZip expand a zipped file.

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.

func OpenURL

func OpenURL(ctx context.Context, u string) (obj *Object, err error)

OpenURL opens a given url and returns an object associated with it.

type Script

type Script struct {
	*script.Script
	Logger *log.Logger
}

Script defines a structure to run commands.

func NewScript

func NewScript(filename string, logger *log.Logger) (res *Script, err error)

NewScript creates a new script from a given named file with a logger.

func (*Script) Dockerfile added in v0.3.0

func (s *Script) Dockerfile() (res []byte, err error)

Dockerfile generates a dockerfile for this script.

func (*Script) DownloadDataFiles

func (s *Script) DownloadDataFiles(ctx context.Context) (err error)

DownloadDataFiles downloads files specified in data section.

func (*Script) Entrypoint added in v0.3.0

func (s *Script) Entrypoint() (res []byte, err error)

Entrypoint generates an entrypoint script for this script.

func (*Script) PrepareSourceCode

func (s *Script) PrepareSourceCode(ctx context.Context) (err error)

PrepareSourceCode prepares source code defined in a given task.

func (*Script) UploadResults

func (s *Script) UploadResults(ctx context.Context, store *azure.StorageService) (err error)

UploadResults uploads result files.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL