Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
type Engine interface { // Setup the pipeline environment. Setup(context.Context, *Spec) error // Run runs the pipeine step. Run(context.Context, *Spec, *Step, io.Writer) (*State, error) // Create creates the pipeline state. Create(context.Context, *Spec, *Step) error // Start the pipeline step. Start(context.Context, *Spec, *Step) error // Wait for the pipeline step to complete and returns the completion results. Wait(context.Context, *Spec, *Step) (*State, error) // Tail the pipeline step logs. Tail(context.Context, *Spec, *Step) (io.ReadCloser, error) // Destroy the pipeline environment. Destroy(context.Context, *Spec) error }
Engine is the interface that must be implemented by a pipeline execution engine.
type File ¶
type File struct { Path string `json:"path,omitempty"` Mode uint32 `json:"mode,omitempty"` Data []byte `json:"data,omitempty"` IsDir bool `json:"is_dir,omitempty"` }
File defines a file that should be uploaded or mounted somewhere in the step container or virtual machine prior to command execution.
type Platform ¶
type Platform struct { OS string `json:"os,omitempty"` Arch string `json:"arch,omitempty"` Variant string `json:"variant,omitempty"` Version string `json:"version,omitempty"` }
Platform defines the target platform.
type RunPolicy ¶
type RunPolicy int
RunPolicy defines the policy for starting containers based on the point-in-time pass or fail state of the pipeline.
type Secret ¶
type Secret struct { Name string `json:"name,omitempty"` Env string `json:"env,omitempty"` Data []byte `json:"data,omitempty"` Mask bool `json:"mask,omitempty"` }
Secret represents a secret variable.
type Spec ¶
type Spec struct { // Metadata Metadata `json:"metadata,omitempty"` Platform Platform `json:"platform,omitempty"` Root string `json:"root,omitempty"` Files []*File `json:"files,omitempty"` Steps []*Step `json:"steps,omitempty"` }
Spec provides the pipeline spec. This provides the required instructions for reproducable pipeline execution.
type State ¶
type State struct { ExitCode int // Container exit code Exited bool // Container exited OOMKilled bool // Container is oom killed }
State represents the process state.
type Step ¶
type Step struct { Args []string `json:"args,omitempty"` Command string `json:"command,omitempty"` Detach bool `json:"detach,omitempty"` DependsOn []string `json:"depends_on,omitempty"` Envs map[string]string `json:"environment,omitempty"` Files []*File `json:"files,omitempty"` IgnoreErr bool `json:"ignore_err,omitempty"` IgnoreStdout bool `json:"ignore_stderr,omitempty"` IgnoreStderr bool `json:"ignore_stdout,omitempty"` Name string `json:"name,omitempt"` RunPolicy RunPolicy `json:"run_policy,omitempty"` Secrets []*Secret `json:"secrets,omitempty"` WorkingDir string `json:"working_dir,omitempty"` }
Step defines a pipeline step.
Click to show internal directories.
Click to hide internal directories.