task

package
v0.36.0-flux.3 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2024 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplyTask

type ApplyTask struct {
	TaskName string

	DynamicClient     dynamic.Interface
	OpenAPIGetter     discovery.OpenAPISchemaInterface
	InfoHelper        info.Helper
	Mapper            meta.RESTMapper
	Objects           object.UnstructuredSet
	Filters           []filter.ValidationFilter
	Mutators          []mutator.Interface
	DryRunStrategy    common.DryRunStrategy
	ServerSideOptions common.ServerSideOptions
}

ApplyTask applies the given Objects to the cluster by using the ApplyOptions.

func (*ApplyTask) Action

func (a *ApplyTask) Action() event.ResourceAction

func (*ApplyTask) Cancel

func (a *ApplyTask) Cancel(_ *taskrunner.TaskContext)

Cancel is not supported by the ApplyTask.

func (*ApplyTask) Identifiers

func (a *ApplyTask) Identifiers() object.ObjMetadataSet

func (*ApplyTask) Name

func (a *ApplyTask) Name() string

func (*ApplyTask) Start

func (a *ApplyTask) Start(taskContext *taskrunner.TaskContext)

Start creates a new goroutine that will invoke the Run function on the ApplyOptions to update the cluster. It will push a TaskResult on the taskChannel to signal to the taskrunner that the task has completed (or failed). It will also fetch the Generation from each of the applied resources after the Run function has completed. This information is then added to the taskContext. The generation is increased every time the desired state of a resource is changed.

func (*ApplyTask) StatusUpdate

func (a *ApplyTask) StatusUpdate(_ *taskrunner.TaskContext, _ object.ObjMetadata)

StatusUpdate is not supported by the ApplyTask.

type DeleteOrUpdateInvTask

type DeleteOrUpdateInvTask struct {
	TaskName      string
	InvClient     inventory.Client
	InvInfo       inventory.Info
	PrevInventory object.ObjMetadataSet
	DryRun        common.DryRunStrategy
	// if Destroy is set, the inventory will be deleted if all objects were successfully pruned
	Destroy bool
}

DeleteOrUpdateInvTask encapsulates structures necessary to set the inventory references at the end of the apply/prune.

func (*DeleteOrUpdateInvTask) Action

func (*DeleteOrUpdateInvTask) Cancel

Cancel is not supported by the DeleteOrUpdateInvTask.

func (*DeleteOrUpdateInvTask) Identifiers

func (i *DeleteOrUpdateInvTask) Identifiers() object.ObjMetadataSet

func (*DeleteOrUpdateInvTask) Name

func (i *DeleteOrUpdateInvTask) Name() string

func (*DeleteOrUpdateInvTask) Start

func (i *DeleteOrUpdateInvTask) Start(taskContext *taskrunner.TaskContext)

Start will reconcile the state of the inventory, depending on the value of Destroy.

If Destroy is set, the intent is to delete the inventory. The inventory will only be deleted if all prunes were successful (none failed/skipped). If any prunes were failed or skipped, the inventory will be updated.

If Destroy is false, the inventory will be updated.

func (*DeleteOrUpdateInvTask) StatusUpdate

StatusUpdate is not supported by the DeleteOrUpdateInvTask.

type InvAddTask

type InvAddTask struct {
	TaskName  string
	InvClient inventory.Client
	InvInfo   inventory.Info
	Objects   object.UnstructuredSet
	DryRun    common.DryRunStrategy
}

InvAddTask encapsulates structures necessary to add/merge inventory into the cluster. The InvAddTask should add/merge inventory references before the actual object is applied.

func (*InvAddTask) Action

func (i *InvAddTask) Action() event.ResourceAction

func (*InvAddTask) Cancel

func (i *InvAddTask) Cancel(_ *taskrunner.TaskContext)

Cancel is not supported by the InvAddTask.

func (*InvAddTask) Identifiers

func (i *InvAddTask) Identifiers() object.ObjMetadataSet

func (*InvAddTask) Name

func (i *InvAddTask) Name() string

func (*InvAddTask) Start

func (i *InvAddTask) Start(taskContext *taskrunner.TaskContext)

Start updates the inventory by merging the locally applied objects into the current inventory.

func (*InvAddTask) StatusUpdate

func (i *InvAddTask) StatusUpdate(_ *taskrunner.TaskContext, _ object.ObjMetadata)

StatusUpdate is not supported by the InvAddTask.

type KubectlPrinterAdapter

type KubectlPrinterAdapter struct {
	// contains filtered or unexported fields
}

KubectlPrinterAdapter is a workaround for capturing progress from ApplyOptions. ApplyOptions were originally meant to print progress directly using a configurable printer. The KubectlPrinterAdapter plugs into ApplyOptions as a ToPrinter function, but instead of printing the info, it emits it as an event on the provided channel.

type PruneTask

type PruneTask struct {
	TaskName string

	Pruner            *prune.Pruner
	Objects           object.UnstructuredSet
	Filters           []filter.ValidationFilter
	DryRunStrategy    common.DryRunStrategy
	PropagationPolicy metav1.DeletionPropagation
	// True if we are destroying, which deletes the inventory object
	// as well (possibly) the inventory namespace.
	Destroy bool
}

PruneTask prunes objects from the cluster by using the PruneOptions. The provided Objects is the set of resources that have just been applied.

func (*PruneTask) Action

func (p *PruneTask) Action() event.ResourceAction

func (*PruneTask) Cancel

func (p *PruneTask) Cancel(_ *taskrunner.TaskContext)

Cancel is not supported by the PruneTask.

func (*PruneTask) Identifiers

func (p *PruneTask) Identifiers() object.ObjMetadataSet

func (*PruneTask) Name

func (p *PruneTask) Name() string

func (*PruneTask) Start

func (p *PruneTask) Start(taskContext *taskrunner.TaskContext)

Start creates a new goroutine that will invoke the Run function on the PruneOptions to update the cluster. It will push a TaskResult on the taskChannel to signal to the taskrunner that the task has completed (or failed).

func (*PruneTask) StatusUpdate

func (p *PruneTask) StatusUpdate(_ *taskrunner.TaskContext, _ object.ObjMetadata)

StatusUpdate is not supported by the PruneTask.

type SendEventTask

type SendEventTask struct {
	Event event.Event
}

SendEventTask is an implementation of the Task interface that will send the provided event on the eventChannel when executed.

func (*SendEventTask) ClearTimeout

func (s *SendEventTask) ClearTimeout()

ClearTimeout doesn't do anything as SendEventTask doesn't support timeouts.

func (*SendEventTask) Start

func (s *SendEventTask) Start(taskContext *taskrunner.TaskContext)

Start start a separate goroutine that will send the event and then push a TaskResult on the taskChannel to signal to the taskrunner that the task is completed.

Jump to

Keyboard shortcuts

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