Documentation
¶
Overview ¶
Provides a model representing a pipeline definition that defines default arguments for a pipeline identifier
Provides a representation of a yaml pipeline file as a Go struct ¶
Provides models to represent pipeline files and runs ¶
Provides a model representing a pipeline run
Index ¶
- type DefaultSettings
- type File
- type HookDefinitions
- type PipelineDefinition
- type PipelineDefinitionsLookup
- type PipelineFileImportSkeleton
- type PipelineRunLogger
- func (logger *PipelineRunLogger) AddReaderEntry(reader io.Reader)
- func (logger *PipelineRunLogger) AddWriteCloserEntry() io.WriteCloser
- func (logger *PipelineRunLogger) AllErrorMessages() []string
- func (logger *PipelineRunLogger) Bytes() []byte
- func (logger *PipelineRunLogger) Close()
- func (logger *PipelineRunLogger) Closed() bool
- func (logger *PipelineRunLogger) Completed() bool
- func (logger *PipelineRunLogger) Debug(entry *logrus.Entry)
- func (logger *PipelineRunLogger) DebugCount() int
- func (logger *PipelineRunLogger) DebugWithFields(logFields ...fields.LogEntryField)
- func (logger *PipelineRunLogger) Error(err error, logFields ...fields.LogEntryField)
- func (logger *PipelineRunLogger) ErrorCount() int
- func (logger *PipelineRunLogger) Info(entry *logrus.Entry)
- func (logger *PipelineRunLogger) InfoCount() int
- func (logger *PipelineRunLogger) InfoWithFields(logFields ...fields.LogEntryField)
- func (logger *PipelineRunLogger) LastError() error
- func (logger *PipelineRunLogger) Level() logrus.Level
- func (logger *PipelineRunLogger) PossibleError(err error)
- func (logger *PipelineRunLogger) PossibleErrorWithExplanation(err error, explanation string)
- func (logger *PipelineRunLogger) Reader() io.Reader
- func (logger *PipelineRunLogger) SetLevel(level logrus.Level)
- func (logger *PipelineRunLogger) StderrOutput(message string, logFields ...fields.LogEntryField)
- func (logger *PipelineRunLogger) String() string
- func (logger *PipelineRunLogger) Summary() string
- func (logger *PipelineRunLogger) Trace(entry *logrus.Entry)
- func (logger *PipelineRunLogger) TraceCount() int
- func (logger *PipelineRunLogger) TraceWithFields(logFields ...fields.LogEntryField)
- func (logger *PipelineRunLogger) Wait()
- func (logger *PipelineRunLogger) Warn(entry *logrus.Entry)
- func (logger *PipelineRunLogger) WarnCount() int
- func (logger *PipelineRunLogger) WarnWithFields(logFields ...fields.LogEntryField)
- type Run
- func (run *Run) AddCancelHook(cancelHook func() error)
- func (run *Run) ArgumentAtPath(path ...string) (interface{}, error)
- func (run *Run) ArgumentAtPathIncludingParents(path ...string) (interface{}, error)
- func (run *Run) ArgumentsCopy() map[string]interface{}
- func (run *Run) Cancel() error
- func (run *Run) Cancelled() bool
- func (run *Run) Close()
- func (run *Run) Completed() bool
- func (run *Run) SetArgumentAtPath(value interface{}, path ...string) error
- func (run *Run) SetArguments(value map[string]interface{})
- func (run *Run) String() string
- func (run *Run) Wait()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultSettings ¶
type File ¶
type File struct {
Default DefaultSettings
FileName string
Hooks HookDefinitions
Import []string
// in pipeline files, each command can have arbitrary parameters
// it may also have "steps"
// each step can be either a string referencing another pipeline
// or a dictionary containing additional parameters
Public map[string]map[string]interface{}
Private map[string]map[string]interface{}
}
Note that this struct does not have exactly the same structure as the yaml file
type HookDefinitions ¶
type PipelineDefinition ¶
type PipelineDefinition struct {
BuiltIn bool
DefinitionArguments map[string]interface{}
FileName string
Public bool
}
func NewPipelineDefinition ¶
func NewPipelineDefinition( arguments map[string]interface{}, pipelineFileName string, isPublic bool, isBuiltIn bool, ) *PipelineDefinition
type PipelineDefinitionsLookup ¶
type PipelineDefinitionsLookup = map[string][]PipelineDefinition
func MergePipelineDefinitions ¶
func MergePipelineDefinitions(definition1 PipelineDefinitionsLookup, definition2 PipelineDefinitionsLookup) PipelineDefinitionsLookup
type PipelineFileImportSkeleton ¶
type PipelineFileImportSkeleton struct {
Import []string
}
type PipelineRunLogger ¶
type PipelineRunLogger struct {
Indentation int
ErrorCallback func(error)
// contains filtered or unexported fields
}
func NewClosedPipelineRunLoggerWithErrors ¶
func NewClosedPipelineRunLoggerWithErrors(errors *multierror.Error) *PipelineRunLogger
func NewClosedPipelineRunLoggerWithResult ¶
func NewClosedPipelineRunLoggerWithResult(buffer *bytes.Buffer) *PipelineRunLogger
func NewPipelineRunLogger ¶
func NewPipelineRunLogger(run *Run, indentation int) *PipelineRunLogger
func (*PipelineRunLogger) AddReaderEntry ¶
func (logger *PipelineRunLogger) AddReaderEntry(reader io.Reader)
func (*PipelineRunLogger) AddWriteCloserEntry ¶
func (logger *PipelineRunLogger) AddWriteCloserEntry() io.WriteCloser
func (*PipelineRunLogger) AllErrorMessages ¶
func (logger *PipelineRunLogger) AllErrorMessages() []string
func (*PipelineRunLogger) Bytes ¶
func (logger *PipelineRunLogger) Bytes() []byte
func (*PipelineRunLogger) Close ¶
func (logger *PipelineRunLogger) Close()
func (*PipelineRunLogger) Closed ¶
func (logger *PipelineRunLogger) Closed() bool
func (*PipelineRunLogger) Completed ¶
func (logger *PipelineRunLogger) Completed() bool
func (*PipelineRunLogger) Debug ¶
func (logger *PipelineRunLogger) Debug(entry *logrus.Entry)
func (*PipelineRunLogger) DebugCount ¶
func (logger *PipelineRunLogger) DebugCount() int
func (*PipelineRunLogger) DebugWithFields ¶
func (logger *PipelineRunLogger) DebugWithFields(logFields ...fields.LogEntryField)
func (*PipelineRunLogger) Error ¶
func (logger *PipelineRunLogger) Error(err error, logFields ...fields.LogEntryField)
func (*PipelineRunLogger) ErrorCount ¶
func (logger *PipelineRunLogger) ErrorCount() int
func (*PipelineRunLogger) Info ¶
func (logger *PipelineRunLogger) Info(entry *logrus.Entry)
func (*PipelineRunLogger) InfoCount ¶
func (logger *PipelineRunLogger) InfoCount() int
func (*PipelineRunLogger) InfoWithFields ¶
func (logger *PipelineRunLogger) InfoWithFields(logFields ...fields.LogEntryField)
func (*PipelineRunLogger) LastError ¶
func (logger *PipelineRunLogger) LastError() error
func (*PipelineRunLogger) Level ¶
func (logger *PipelineRunLogger) Level() logrus.Level
func (*PipelineRunLogger) PossibleError ¶
func (logger *PipelineRunLogger) PossibleError(err error)
func (*PipelineRunLogger) PossibleErrorWithExplanation ¶
func (logger *PipelineRunLogger) PossibleErrorWithExplanation(err error, explanation string)
func (*PipelineRunLogger) Reader ¶
func (logger *PipelineRunLogger) Reader() io.Reader
func (*PipelineRunLogger) SetLevel ¶
func (logger *PipelineRunLogger) SetLevel(level logrus.Level)
func (*PipelineRunLogger) StderrOutput ¶
func (logger *PipelineRunLogger) StderrOutput(message string, logFields ...fields.LogEntryField)
func (*PipelineRunLogger) String ¶
func (logger *PipelineRunLogger) String() string
func (*PipelineRunLogger) Summary ¶
func (logger *PipelineRunLogger) Summary() string
func (*PipelineRunLogger) Trace ¶
func (logger *PipelineRunLogger) Trace(entry *logrus.Entry)
func (*PipelineRunLogger) TraceCount ¶
func (logger *PipelineRunLogger) TraceCount() int
func (*PipelineRunLogger) TraceWithFields ¶
func (logger *PipelineRunLogger) TraceWithFields(logFields ...fields.LogEntryField)
func (*PipelineRunLogger) Wait ¶
func (logger *PipelineRunLogger) Wait()
func (*PipelineRunLogger) Warn ¶
func (logger *PipelineRunLogger) Warn(entry *logrus.Entry)
func (*PipelineRunLogger) WarnCount ¶
func (logger *PipelineRunLogger) WarnCount() int
func (*PipelineRunLogger) WarnWithFields ¶
func (logger *PipelineRunLogger) WarnWithFields(logFields ...fields.LogEntryField)
type Run ¶
type Run struct {
// if the identifier has been defined before, this will be the resolved reference to the definition
Definition *PipelineDefinition
// an optional identifier - note that anonymous pipes without identifier can have invocation arguments, but no definition
Identifier *string
// the invocation arguments are what is passed to the pipe at the time of invocation / run creation
InvocationArguments map[string]interface{}
Stdin *datastream.ComposableDataStream
Stdout *datastream.ComposableDataStream
Stderr *datastream.ComposableDataStream
ExitCode *int
Log *PipelineRunLogger
Parent *Run
LogClosingWaitGroup *sync.WaitGroup
Synchronous bool
StartWaitGroup *sync.WaitGroup
// contains filtered or unexported fields
}
A pipeline run contains everything needed to actually execute the invocation of a pipe the middleware operates on these objects, triggering further runs or shell invocations there are three steps to this process:
- Setup In the setup phase the arguments, connections between inputs and outputs, etc. of each run are defined.
- Finalization After the setup, finalize() is called to prevent any further changes to input/output connections.
- Execution The shell command is executed and data is piped through the defined input/output connections. Note that some middleware might start additional runs in the execution phase. For example, the `when` middleware for conditional execution will trigger runs based on whether the result of previous runs satisfies a certain condition
func NewPipelineRun ¶
func (*Run) AddCancelHook ¶
func (*Run) ArgumentAtPath ¶
func (*Run) ArgumentAtPathIncludingParents ¶
func (*Run) ArgumentsCopy ¶
func (*Run) SetArgumentAtPath ¶
func (*Run) SetArguments ¶
Click to show internal directories.
Click to hide internal directories.