Documentation ¶
Index ¶
- func Rerun(ctx context.Context, mc model.ClientSet, client Client, ...) error
- func ResetWorkflowExecutionStatus(ctx context.Context, mc model.ClientSet, ...) error
- func Run(ctx context.Context, mc model.ClientSet, client Client, ...) error
- type ArgoAPIClient
- type ArgoWorkflowClient
- func (s *ArgoWorkflowClient) Delete(ctx context.Context, opts DeleteOptions) error
- func (s *ArgoWorkflowClient) GetLogs(ctx context.Context, opts LogsOptions) ([]byte, error)
- func (s *ArgoWorkflowClient) Resubmit(ctx context.Context, opts ResubmitOptions) error
- func (s *ArgoWorkflowClient) Resume(ctx context.Context, opts ResumeOptions) error
- func (s *ArgoWorkflowClient) StreamLogs(ctx context.Context, opts StreamLogsOptions) error
- func (s *ArgoWorkflowClient) Submit(ctx context.Context, opts SubmitOptions) error
- func (s *ArgoWorkflowClient) Terminate(ctx context.Context, opts TerminateOptions) error
- type Client
- type DeleteOptions
- type GetOptions
- type LogsOptions
- type ResubmitOptions
- type ResumeOptions
- type StatusSyncer
- func (m *StatusSyncer) IsCanceled(ctx context.Context, wf *wfv1.Workflow) (bool, error)
- func (m *StatusSyncer) SyncStageExecutionStatus(ctx context.Context, node wfv1.NodeStatus, stageExecutionID object.ID, ...) error
- func (m *StatusSyncer) SyncStepExecutionStatus(ctx context.Context, node wfv1.NodeStatus, stepExecutionID object.ID, ...) error
- func (m *StatusSyncer) SyncWorkflowExecutionStatus(ctx context.Context, wf *wfv1.Workflow) error
- type StreamLogsOptions
- type SubmitOptions
- type SubmitParamsOpts
- type TemplateManager
- func (t *TemplateManager) GetStageExecutionEnterTemplate(stageExecution *model.WorkflowStageExecution) *wfv1.Template
- func (t *TemplateManager) GetStageExecutionExitTemplate(stageExecution *model.WorkflowStageExecution) *wfv1.Template
- func (t *TemplateManager) GetStageExecutionStatusTemplate(name string, stageExecution *model.WorkflowStageExecution) *wfv1.Template
- func (t *TemplateManager) GetStageExecutionTemplates(ctx context.Context, stageExecution *model.WorkflowStageExecution) (stageTemplate *wfv1.Template, subTemplates []*wfv1.Template, err error)
- func (t *TemplateManager) GetStepExecutionExtendTemplates(ctx context.Context, stepExecution *model.WorkflowStepExecution) (extendTemplate *wfv1.Template, stepTemplates []*wfv1.Template, err error)
- func (t *TemplateManager) GetStepExecutionStatusTemplate(name string, stepExecution *model.WorkflowStepExecution) *wfv1.Template
- func (t *TemplateManager) GetStepExecutionTemplates(ctx context.Context, stepExecution *model.WorkflowStepExecution) ([]*wfv1.Template, error)
- func (t *TemplateManager) GetWorkflowExecutionEnterTemplate(wf *model.WorkflowExecution) *wfv1.Template
- func (t *TemplateManager) GetWorkflowExecutionExitTemplate(wf *model.WorkflowExecution) *wfv1.Template
- func (t *TemplateManager) GetWorkflowExecutionStatusTemplate(name string, wf *model.WorkflowExecution) *wfv1.Template
- func (t *TemplateManager) GetWorkflowExecutionTemplates(ctx context.Context, stageExecutions model.WorkflowStageExecutions) ([]*wfv1.Template, error)
- func (t *TemplateManager) ToArgoWorkflow(ctx context.Context, workflowExecution *model.WorkflowExecution, token string) (*wfv1.Workflow, error)
- type TerminateOptions
- type WorkflowReconciler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Rerun ¶
func Rerun( ctx context.Context, mc model.ClientSet, client Client, wfe *model.WorkflowExecution, ) error
Rerun reruns the workflow execution to the argo workflow server.
func ResetWorkflowExecutionStatus ¶
func ResetWorkflowExecutionStatus( ctx context.Context, mc model.ClientSet, workflowExecution *model.WorkflowExecution, ) error
ResetWorkflowExecutionStatus resets the workflow execution status and all its stage and step execution status. Rerun the workflow execution need reset the running information.
Types ¶
type ArgoAPIClient ¶
ArgoAPIClient is a wrapper of argo workflow client. It interacts with argo workflow server.
func NewArgoAPIClient ¶
func NewArgoAPIClient(restCfg *rest.Config) (*ArgoAPIClient, error)
type ArgoWorkflowClient ¶
func (*ArgoWorkflowClient) Delete ¶
func (s *ArgoWorkflowClient) Delete(ctx context.Context, opts DeleteOptions) error
func (*ArgoWorkflowClient) GetLogs ¶
func (s *ArgoWorkflowClient) GetLogs(ctx context.Context, opts LogsOptions) ([]byte, error)
GetWorkflowStepExecutionLogs gets workflow step execution logs.
func (*ArgoWorkflowClient) Resubmit ¶
func (s *ArgoWorkflowClient) Resubmit(ctx context.Context, opts ResubmitOptions) error
func (*ArgoWorkflowClient) Resume ¶
func (s *ArgoWorkflowClient) Resume(ctx context.Context, opts ResumeOptions) error
func (*ArgoWorkflowClient) StreamLogs ¶
func (s *ArgoWorkflowClient) StreamLogs(ctx context.Context, opts StreamLogsOptions) error
StreamWorkflowStepExecutionLogs streams workflow step execution logs.
func (*ArgoWorkflowClient) Submit ¶
func (s *ArgoWorkflowClient) Submit(ctx context.Context, opts SubmitOptions) error
func (*ArgoWorkflowClient) Terminate ¶
func (s *ArgoWorkflowClient) Terminate(ctx context.Context, opts TerminateOptions) error
Terminate terminates a workflow execution. It will stop all nodes of the workflow execution.
type Client ¶
type Client interface { // Submit submits a workflow to the workflow engine. Submit(context.Context, SubmitOptions) error // Resume resumes a workflow step execution of a workflow execution.. Resume(context.Context, ResumeOptions) error // Resubmit resubmits a workflow to the workflow engine. Resubmit(context.Context, ResubmitOptions) error // Delete deletes a workflow from the workflow engine. Delete(context.Context, DeleteOptions) error // GetLogs gets logs of a workflow step execution. GetLogs(context.Context, LogsOptions) ([]byte, error) // StreamLogs streams logs of a workflow execution. StreamLogs(context.Context, StreamLogsOptions) error // Terminate terminates a workflow execution. Terminate(context.Context, TerminateOptions) error }
Client is the interface that defines the operations of workflow engine.
type DeleteOptions ¶
type DeleteOptions struct {
WorkflowExecution *model.WorkflowExecution
}
type GetOptions ¶
type GetOptions struct {
WorkflowExecution *model.WorkflowExecution
}
type LogsOptions ¶
type LogsOptions struct { optypes.LogOptions WorkflowExecution *model.WorkflowExecution StepExecution *model.WorkflowStepExecution }
LogsOptions is the options for getting logs of a workflow step execution.
type ResubmitOptions ¶
type ResubmitOptions struct {
WorkflowExecution *model.WorkflowExecution
}
type ResumeOptions ¶
type ResumeOptions struct { // Approve or deny of the workflow approval step execution. Approve bool // WorkflowExecution is the workflow execution to be resumed. WorkflowExecution *model.WorkflowExecution // WorkflowStepExecution is the workflow step execution to be resumed. WorkflowStepExecution *model.WorkflowStepExecution }
ResumeOptions is the options for submitting a workflow. WorkflowExecution's Edge WorkflowStageExecutions and their Edge WorkflowStepExecutions must be set.
type StatusSyncer ¶
StatusSyncer sync the status of workflow execution.
func NewStatusSyncer ¶
func NewStatusSyncer( mc model.ClientSet, wc Client, ) *StatusSyncer
func (*StatusSyncer) IsCanceled ¶ added in v0.5.0
func (*StatusSyncer) SyncStageExecutionStatus ¶
func (m *StatusSyncer) SyncStageExecutionStatus( ctx context.Context, node wfv1.NodeStatus, stageExecutionID object.ID, canceled bool, ) error
SyncStageExecutionStatus syncs workflow stage execution status.
func (*StatusSyncer) SyncStepExecutionStatus ¶
func (m *StatusSyncer) SyncStepExecutionStatus( ctx context.Context, node wfv1.NodeStatus, stepExecutionID object.ID, canceled bool, ) error
SyncStepExecutionStatus syncs workflow step execution status.
func (*StatusSyncer) SyncWorkflowExecutionStatus ¶
SyncWorkflowExecutionStatus syncs the status of workflow execution.
type StreamLogsOptions ¶
type StreamLogsOptions struct { LogsOptions Out io.Writer }
StreamLogsOptions is the options for streaming logs of a workflow execution.
type SubmitOptions ¶
type SubmitOptions struct { WorkflowExecution *model.WorkflowExecution SubjectID object.ID }
type SubmitParamsOpts ¶
type SubmitParamsOpts struct { WorkflowExecution *model.WorkflowExecution Params map[string]string }
SubmitParamsOpts is the options for submitting a workflow with parameters.
type TemplateManager ¶
type TemplateManager struct {
// contains filtered or unexported fields
}
TemplateManager is the manager of workflow templates. Manager generate argo workflow definition with model.WorkflowExecution. It generates templates for workflow with workflow, stage and step executions.
func NewTemplateManager ¶
func NewTemplateManager(mc model.ClientSet) *TemplateManager
func (*TemplateManager) GetStageExecutionEnterTemplate ¶
func (t *TemplateManager) GetStageExecutionEnterTemplate( stageExecution *model.WorkflowStageExecution, ) *wfv1.Template
GetStageExecutionEnterTemplate returns the enter template of a stage execution. The template handler sync the status of the stage execution to "Running".
func (*TemplateManager) GetStageExecutionExitTemplate ¶
func (t *TemplateManager) GetStageExecutionExitTemplate( stageExecution *model.WorkflowStageExecution, ) *wfv1.Template
GetStageExecutionExitTemplate returns the exit template of a stage execution. The template handler sync the status of the stage execution to "Succeeded" or "Failed".
func (*TemplateManager) GetStageExecutionStatusTemplate ¶
func (t *TemplateManager) GetStageExecutionStatusTemplate( name string, stageExecution *model.WorkflowStageExecution, ) *wfv1.Template
GetStageExecutionStatusTemplate returns the status template of a stage execution. The status template handler sync the status of the stage execution to "Running", "Succeeded" or "Failed".
func (*TemplateManager) GetStageExecutionTemplates ¶
func (t *TemplateManager) GetStageExecutionTemplates( ctx context.Context, stageExecution *model.WorkflowStageExecution, ) (stageTemplate *wfv1.Template, subTemplates []*wfv1.Template, err error)
GetStageExecutionTemplates extends one stage execution to template, return stage template and its step templates.
func (*TemplateManager) GetStepExecutionExtendTemplates ¶
func (t *TemplateManager) GetStepExecutionExtendTemplates( ctx context.Context, stepExecution *model.WorkflowStepExecution, ) (extendTemplate *wfv1.Template, stepTemplates []*wfv1.Template, err error)
GetStepExecutionExtendTemplates extends one step execution to three step executions, enter template, main template, exit step template, which are used to update the status of the step execution. The extend templates are used to manager lifecycle of the step execution.
func (*TemplateManager) GetStepExecutionStatusTemplate ¶
func (t *TemplateManager) GetStepExecutionStatusTemplate( name string, stepExecution *model.WorkflowStepExecution, ) *wfv1.Template
GetStepExecutionStatusTemplate returns the status template of a step execution. The status template handler sync the status of the step execution to "Running", "Succeeded" or "Failed".
func (*TemplateManager) GetStepExecutionTemplates ¶
func (t *TemplateManager) GetStepExecutionTemplates( ctx context.Context, stepExecution *model.WorkflowStepExecution, ) ([]*wfv1.Template, error)
GetStepExecutionTemplates extends one step execution to three step executions, enter template, main template, exit step template, which are used to update the status of the step execution.
func (*TemplateManager) GetWorkflowExecutionEnterTemplate ¶
func (t *TemplateManager) GetWorkflowExecutionEnterTemplate(wf *model.WorkflowExecution) *wfv1.Template
GetWorkflowExecutionEnterTemplate returns the enter template of a workflow execution.
func (*TemplateManager) GetWorkflowExecutionExitTemplate ¶
func (t *TemplateManager) GetWorkflowExecutionExitTemplate(wf *model.WorkflowExecution) *wfv1.Template
getExitTemplate returns template for workflow exit handler.
func (*TemplateManager) GetWorkflowExecutionStatusTemplate ¶
func (t *TemplateManager) GetWorkflowExecutionStatusTemplate( name string, wf *model.WorkflowExecution, ) *wfv1.Template
GetWorkflowExecutionStatusTemplate returns the status template of a workflow execution. The status template handler sync the status of the workflow execution to "Running", "Succeeded" or "Failed". It will be called with the lifecycle hook of the stage execution.
func (*TemplateManager) GetWorkflowExecutionTemplates ¶
func (t *TemplateManager) GetWorkflowExecutionTemplates( ctx context.Context, stageExecutions model.WorkflowStageExecutions, ) ([]*wfv1.Template, error)
GetWorkflowExecutionTemplates get workflow execution templates.
func (*TemplateManager) ToArgoWorkflow ¶
func (t *TemplateManager) ToArgoWorkflow( ctx context.Context, workflowExecution *model.WorkflowExecution, token string, ) (*wfv1.Workflow, error)
ToArgoWorkflow returns an argo workflow for a workflow execution. The workflow execution MUST contains edges of stage and step executions.
type TerminateOptions ¶
type TerminateOptions struct {
WorkflowExecution *model.WorkflowExecution
}
TerminateOptions is the options for terminating a workflow execution.
type WorkflowReconciler ¶
type WorkflowReconciler struct { Logger logr.Logger KubeClient client.Client StatusSyncer *StatusSyncer }
WorkflowReconciler reconciles a Workflow object.