controller

package
v0.0.0-...-55654f1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindCompletedTasks

func FindCompletedTasks(flow *skyv1alpha1.Workflow) []string

func FindSchedulableTasks

func FindSchedulableTasks(nodes []*Node, tasks []skyv1alpha1.Task) []skyv1alpha1.Task

Types

type Dag

type Dag struct {
	Nodes map[string]*Node
}

func BuildDAG

func BuildDAG(tasks []skyv1alpha1.Task) (*Dag, error)

func (*Dag) GetRootNode

func (dag *Dag) GetRootNode() *Node

func (*Dag) Validate

func (dag *Dag) Validate() bool

type Node

type Node struct {
	Name string
	Prev []*Node
	Next []*Node
}

func FindSchedulableNodes

func FindSchedulableNodes(dag *Dag, completedTasks []string, taskStatus map[string]skyv1alpha1.TaskStatus) []*Node

type WorkflowReconciler

type WorkflowReconciler struct {
	client.Client
	Scheme *runtime.Scheme
}

WorkflowReconciler reconciles a Workflow object

func (*WorkflowReconciler) Reconcile

func (r *WorkflowReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the Workflow object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.18.4/pkg/reconcile

func (*WorkflowReconciler) SetupWithManager

func (r *WorkflowReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

Jump to

Keyboard shortcuts

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