Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
 - func ReadConfigMapValue(clientset kubernetes.Interface, namespace string, name string, key string) (string, error)
 - type Throttler
 - type WorkflowController
 - func (wfc *WorkflowController) GetContainerRuntimeExecutor() string
 - func (wfc *WorkflowController) GetManagedNamespace() string
 - func (wfc *WorkflowController) MetricsServer(ctx context.Context)
 - func (wfc *WorkflowController) ResyncConfig() error
 - func (wfc *WorkflowController) Run(ctx context.Context, wfWorkers, podWorkers int)
 - func (wfc *WorkflowController) RunCronController(ctx context.Context)
 - func (wfc *WorkflowController) RunTTLController(ctx context.Context)
 - func (wfc *WorkflowController) TelemetryServer(ctx context.Context)
 
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") )
Functions ¶
func ReadConfigMapValue ¶
Types ¶
type Throttler ¶
type Throttler interface {
	Add(key interface{}, priority int32, creationTime time.Time)
	// Next returns true if item should be processed by controller now or return false.
	Next(key interface{}) (interface{}, bool)
	// Remove notifies throttler that item processing is done. In responses the throttler triggers processing of previously throttled items.
	Remove(key interface{})
	// SetParallelism update throttler parallelism limit.
	SetParallelism(parallelism int)
}
    Throttler allows CRD controller to limit number of items it is processing in parallel.
func NewThrottler ¶
func NewThrottler(parallelism int, queue workqueue.RateLimitingInterface) Throttler
type WorkflowController ¶
type WorkflowController struct {
	// Config is the workflow controller's configuration
	Config config.WorkflowControllerConfig
	// contains filtered or unexported fields
}
    WorkflowController is the controller for workflow resources
func NewWorkflowController ¶
func NewWorkflowController( restConfig *rest.Config, kubeclientset kubernetes.Interface, wfclientset wfclientset.Interface, namespace string, managedNamespace string, executorImage, executorImagePullPolicy, containerRuntimeExecutor, configMap string, ) *WorkflowController
NewWorkflowController instantiates a new WorkflowController
func (*WorkflowController) GetContainerRuntimeExecutor ¶
func (wfc *WorkflowController) GetContainerRuntimeExecutor() string
func (*WorkflowController) GetManagedNamespace ¶
func (wfc *WorkflowController) GetManagedNamespace() string
func (*WorkflowController) MetricsServer ¶
func (wfc *WorkflowController) MetricsServer(ctx context.Context)
MetricsServer starts a prometheus metrics server if enabled in the configmap
func (*WorkflowController) ResyncConfig ¶
func (wfc *WorkflowController) ResyncConfig() error
ResyncConfig reloads the controller config from the configmap
func (*WorkflowController) Run ¶
func (wfc *WorkflowController) Run(ctx context.Context, wfWorkers, podWorkers int)
Run starts an Workflow resource controller
func (*WorkflowController) RunCronController ¶
func (wfc *WorkflowController) RunCronController(ctx context.Context)
func (*WorkflowController) RunTTLController ¶
func (wfc *WorkflowController) RunTTLController(ctx context.Context)
RunTTLController runs the workflow TTL controller
func (*WorkflowController) TelemetryServer ¶
func (wfc *WorkflowController) TelemetryServer(ctx context.Context)
TelemetryServer starts a prometheus telemetry server if enabled in the configmap
 Click to show internal directories. 
   Click to hide internal directories.