task

package
v0.8.0-pre.2 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2019 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ApplyTaskKind  = "Apply"
	DeleteTaskKind = "Delete"
	DummyTaskKind  = "Dummy"
)

Available tasks kinds

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplyTask

type ApplyTask struct {
	Name      string
	Resources []string
}

ApplyTask will apply a set of given resources to the cluster. See Run method for more details.

func (ApplyTask) Run

func (at ApplyTask) Run(ctx Context) (bool, error)

Run method for the ApplyTask. Given the task context, it renders the templates using context parameters creates runtime objects and kustomizes them, and applies them using the controller client. Finally, resources are checked for health.

type Context

type Context struct {
	Client     client.Client
	Enhancer   renderer.Enhancer
	Meta       renderer.Metadata
	Templates  map[string]string // Raw templates
	Parameters map[string]string // Instance and OperatorVersion parameters merged
}

Context is a engine.task execution context containing k8s client, templates parameters etc.

type DeleteTask

type DeleteTask struct {
	Name      string
	Resources []string
}

DeleteTask will delete a set of given resources from the cluster. See Run method for more details.

func (DeleteTask) Run

func (dt DeleteTask) Run(ctx Context) (bool, error)

Run method for the DeleteTask. Given the task context, it renders the templates using context parameters creates runtime objects and kustomizes them, and finally removes them using the controller client.

type DummyTask

type DummyTask struct {
	Name    string
	WantErr bool
	Fatal   bool
	Done    bool
}

DummyTask is a task that can fail or succeed on demand

func (DummyTask) Run

func (dt DummyTask) Run(ctx Context) (bool, error)

Run method for the tDummyTask. It has no side effects and returns a dummy error if WantErr is true

type Tasker

type Tasker interface {
	Run(ctx Context) (bool, error)
}

Tasker is an interface that represents any runnable task for an operator. This method is treated as idempotent and will be called multiple times during the life-cycle of the plan execution. Method returns a boolean, signalizing that the task has finished successfully, and an error. An error can wrap the ErrFatalExecution for errors that should not be retried e.g. failed template rendering. This will result in a v1beta1.ExecutionFatalError in the plan execution status. A normal error e.g. failure during accessing the API server will be treated as "transient", meaning plan execution engine can retry it next time. Only a (true, nil) return value will be treated as successful task execution.

func Build

func Build(task *v1beta1.Task) (Tasker, error)

Build factory method takes an v1beta1.Task and returns a corresponding Tasker object

Jump to

Keyboard shortcuts

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