controller

package
v3.0.0-...-8a51905 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2024 License: Apache-2.0 Imports: 97 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrDeadlineExceeded indicates the operation exceeded its deadline for execution
	ErrDeadlineExceeded = errors.New(errors.CodeTimeout, "Deadline exceeded")
	// ErrParallelismReached indicates this workflow reached its parallelism limit
	ErrParallelismReached       = errors.New(errors.CodeForbidden, "Max parallelism reached")
	ErrResourceRateLimitReached = errors.New(errors.CodeForbidden, "resource creation rate-limit reached")
	// ErrTimeout indicates a specific template timed out
	ErrTimeout = errors.New(errors.CodeTimeout, "timeout")
)

Functions

func FindRetryNode

func FindRetryNode(nodes wfv1.Nodes, nodeID string) *wfv1.NodeStatus

FindRetryNode locates the closes retry node ancestor to nodeID

func GetRequeueTime

func GetRequeueTime() time.Duration

Types

type RetryTweak

type RetryTweak = func(retryStrategy wfv1.RetryStrategy, nodes wfv1.Nodes, pod *apiv1.Pod)

RetryTweak is a 2nd order function interface for tweaking the retry

func RetryOnDifferentHost

func RetryOnDifferentHost(retryNodeName string) RetryTweak

RetryOnDifferentHost append affinity with fail host to pod

type TaskResults

type TaskResults struct {
	Succeeded    bool `json:"Succeeded"`
	Failed       bool `json:"Failed"`
	Errored      bool `json:"Errored"`
	Skipped      bool `json:"Skipped"`
	Daemoned     bool `json:"Daemoned"`
	AnySucceeded bool `json:"AnySucceeded"`
	AllFailed    bool `json:"AllFailed"`
}

type WorkflowController

type WorkflowController struct {

	// Config is the workflow controller's configuration
	Config config.Config
	// contains filtered or unexported fields
}

WorkflowController is the controller for workflow resources

func NewWorkflowController

func NewWorkflowController(ctx context.Context, restConfig *rest.Config, kubeclientset kubernetes.Interface, wfclientset wfclientset.Interface, namespace, managedNamespace, executorImage, executorImagePullPolicy, containerRuntimeExecutor, configMap string) (*WorkflowController, error)

NewWorkflowController instantiates a new WorkflowController

func (*WorkflowController) GetContainerRuntimeExecutor

func (wfc *WorkflowController) GetContainerRuntimeExecutor(labels labels.Labels) string

func (*WorkflowController) GetManagedNamespace

func (wfc *WorkflowController) GetManagedNamespace() string

func (*WorkflowController) Healthz

func (wfc *WorkflowController) Healthz(w http.ResponseWriter, r *http.Request)

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http-request If we are in a state where there are any workflows that have not been reconciled in the last 2m, we've gone wrong.

func (*WorkflowController) Run

func (wfc *WorkflowController) Run(ctx context.Context, wfWorkers, workflowTTLWorkers, podWorkers, podCleanupWorkers int)

Run starts an Workflow resource controller

func (*WorkflowController) UpdateConfig

func (wfc *WorkflowController) UpdateConfig(ctx context.Context)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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