controller

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: Apache-2.0 Imports: 17 Imported by: 1

Documentation

Overview

Package v2 contains API Schema definitions for the cluster v2 API group +kubebuilder:object:generate=true +groupName=cluster.paralus.dev

Index

Constants

View Source
const (
	// PreDeleteFinalizer is the finalizer for all cluster CRD pre delete
	PreDeleteFinalizer = "cluster.paralus.dev.v2.predelete"
	// OwnerRef is set if a kubernetes resource is owned by paralus cluster controllers
	// this is used in place of k8s owner ref to enable managing namespaced/non namespaced
	// resources across namespaces
	OwnerRef = "paralus.dev/ownerRef"

	// PrunedSteps is the annotation describing steps pruned from the object
	PrunedSteps = "paralus.dev/pruned"

	// OrignalConfig is the annotation which stores the last applied config (this is equivalent to kubectl last applied config)
	// on an k8s resource
	// this is used to caliculating 3 way merge patches
	// Note: Paralus CRDs are not patched, they are updated and all the resouces created through them are patched
	OrignalConfig = "paralus.dev/original"
)
View Source
const (
	StepBreak    StepOnFailed = "StepBreak"
	StepContinue StepOnFailed = "StepContinue"

	StepObjectNotCreated StepObjectState = "StepObjectNotCreated"
	StepObjectCreated    StepObjectState = "StepObjectCreated"
	StepObjectFailed     StepObjectState = "StepObjectFailed"
	StepObjectComplete   StepObjectState = "StepObjectComplete"
	StepObjectRetry      StepObjectState = "StepObjectRetry"

	StepJobNotCreated StepJobState = "StepJobNotCreated"
	StepJobCreated    StepJobState = "StepJobCreated"
	StepJobFailed     StepJobState = "StepJobFailed"
	StepJobComplete   StepJobState = "StepJobComplete"

	StepNotExecuted StepState = "StepNotExecuted"
	StepExecuted    StepState = "StepExecuted"
	StepFailed      StepState = "StepFailed"
	StepComplete    StepState = "StepComplete"

	Pending    ConditionStatus = "Pending"
	InProgress ConditionStatus = "InProgress"
	Configured ConditionStatus = "Configured"
	Complete   ConditionStatus = "Complete"
	Failed     ConditionStatus = "Failed"

	NamespaceUpsert     NamespaceConditionType = "NamespaceUpsert"
	NamespaceInit       NamespaceConditionType = "NamespaceInit"
	NamespaceCreate     NamespaceConditionType = "NamespaceCreate"
	NamespacePostCreate NamespaceConditionType = "NamespacePostCreate"
	NamespacePreDelete  NamespaceConditionType = "NamespacePreDelete"
	NamespaceReady      NamespaceConditionType = "NamespaceReady"

	TaskUpsert    TaskConditionType = "TaskUpsert"
	TaskInit      TaskConditionType = "TaskInit"
	TaskletCreate TaskConditionType = "TaskletCreate"
	TaskPreDelete TaskConditionType = "TaskPreDelete"
	TaskReady     TaskConditionType = "TaskReady"

	TaskletUpsert      TaskletConditionType = "TaskletUpsert"
	TaskletInit        TaskletConditionType = "TaskletInit"
	TaskletInstall     TaskletConditionType = "TaskletInstall"
	TaskletPostInstall TaskletConditionType = "TaskletPostInstall"
	TaskletPreDelete   TaskletConditionType = "TaskletPreDelete"
	TaskletReady       TaskletConditionType = "TaskletReady"

	// NodeReady means kubelet is healthy and ready to accept pods.
	NodeReady NodeConditionType = "Ready"
	// NodeOutOfDisk means the kubelet will not accept new pods due to insufficient free disk
	// space on the node.
	NodeOutOfDisk NodeConditionType = "OutOfDisk"
	// NodeMemoryPressure means the kubelet is under pressure due to insufficient available memory.
	NodeMemoryPressure NodeConditionType = "MemoryPressure"
	// NodeDiskPressure means the kubelet is under pressure due to insufficient available disk.
	NodeDiskPressure NodeConditionType = "DiskPressure"
	// NodeNetworkUnavailable means that network for the node is not correctly configured.
	NodeNetworkUnavailable NodeConditionType = "NetworkUnavailable"
)

enum values types

Variables

View Source
var (
	NewNamespaceUpsert     NewNamespaceConditionFunc = newNamespaceCondition(NamespaceUpsert)
	NewNamespaceInit       NewNamespaceConditionFunc = newNamespaceCondition(NamespaceInit)
	NewNamespaceCreate     NewNamespaceConditionFunc = newNamespaceCondition(NamespaceCreate)
	NewNamespacePostCreate NewNamespaceConditionFunc = newNamespaceCondition(NamespacePostCreate)
	NewNamespacePreDelete  NewNamespaceConditionFunc = newNamespaceCondition(NamespacePreDelete)
	NewNamespaceReady      NewNamespaceConditionFunc = newNamespaceCondition(NamespaceReady)

	NewTaskletUpsert      NewTaskletConditionFunc = newTaskletCondition(TaskletUpsert)
	NewTaskletInit        NewTaskletConditionFunc = newTaskletCondition(TaskletInit)
	NewTaskletInstall     NewTaskletConditionFunc = newTaskletCondition(TaskletInstall)
	NewTaskletPostInstall NewTaskletConditionFunc = newTaskletCondition(TaskletPostInstall)
	NewTaskletPreDelete   NewTaskletConditionFunc = newTaskletCondition(TaskletPreDelete)
	NewTaskletReady       NewTaskletConditionFunc = newTaskletCondition(TaskletReady)

	NewTaskUpsert    NewTaskConditionFunc = newTaskCondition(TaskUpsert)
	NewTaskInit      NewTaskConditionFunc = newTaskCondition(TaskInit)
	NewTaskletCreate NewTaskConditionFunc = newTaskCondition(TaskletCreate)
	NewTaskPreDelete NewTaskConditionFunc = newTaskCondition(TaskPreDelete)
	NewTaskReady     NewTaskConditionFunc = newTaskCondition(TaskReady)

	TaskReadyFailedReason    GetTaskConditionReasonFunc    = getTaskConditionReason(Failed, TaskReady)
	TaskConvergeFailedReason GetTaskConditionReasonFunc    = getTaskConditionReason(Failed, TaskInit, TaskletCreate)
	TaskletReadyFailedReason GetTaskletConditionReasonFunc = getTaskletConditionReason(Failed, TaskletReady)
	TaskletFailedReason      GetTaskletConditionReasonFunc = getTaskletConditionReason(Failed, TaskletInit, TaskletInstall, TaskletPostInstall, TaskletReady)

	NamespaceConvergeFailedReason GetNamespaceConditionReasonFunc = getNamespaceConditionReason(Failed, NamespaceInit, NamespaceCreate, NamespacePostCreate)
	NamespaceReadyReason          GetNamespaceConditionReasonFunc = getNamespaceConditionReason(Failed, NamespaceReady)
)

utility methods for creating/checking conditions

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cluster.paralus.dev", Version: "v2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// ErrNoMetadata is returned when metadata field is not present in the object
	ErrNoMetadata = errors.New("metadata filed not present")
)
View Source
var File_proto_types_controller_cluster_controller_proto protoreflect.FileDescriptor

Functions

func SetNamespaceCondition

func SetNamespaceCondition(n *Namespace, condition NamespaceCondition)

SetNamespaceCondition sets namespace condition

func SetTaskCondition

func SetTaskCondition(t *Task, condition TaskCondition)

SetTaskCondition sets task condition

func SetTaskletCondition

func SetTaskletCondition(t *Tasklet, condition TaskletCondition)

SetTaskletCondition sets tasklet condition

Types

type Accessor

type Accessor interface {
	// Kind returns the kind of the step object
	Kind() (string, error)
	// SetKind sets kind for step object
	SetKind(string) error
	// APIVersion returns api version for the step object
	APIVersion() (string, error)
	// SetAPIVersion sets api version for step object
	SetAPIVersion(string) error

	// GroupVersionKind returns group version kind of the step object
	GroupVersionKind() (schema.GroupVersionKind, error)

	// Namespace returns namespace of the step object
	Namespace() (string, error)
	// SetNamespace sets namespace for step object
	SetNamespace(string) error
	// Name returns name of the step object
	Name() (string, error)
	// SetName sets name for the step object
	SetName(string) error
	// Labels returns labels of the step object
	Labels() (map[string]string, error)
	// SetLabels sets labels for the step object
	SetLabels(map[string]string) error
	// Annotations returns annotations of the step object
	Annotations() (map[string]string, error)
	// SetAnnotations sets annotations for the step object
	SetAnnotations(map[string]string) error
	// SetRaw sets json serialized bytes value at keys
	SetRaw(value []byte, keys ...string) error
	// GetRaw gets json serialized bytes value at keys
	GetRaw(keys ...string) ([]byte, error)
	// ResetAutoFields resets fields auto populated by the server in the step object
	ResetAutoFields() error
	// Bytes returns the mutated step object
	Bytes() []byte
}

Accessor is the interface for accessing k8s fields from step object

type ConditionStatus

type ConditionStatus string

ConditionStatus is the status of condition +kubebuilder:validation:Enum=Pending;InProgress;Configured;Complete;Failed

type GetNamespaceConditionReasonFunc

type GetNamespaceConditionReasonFunc func(n *Namespace) string

GetNamespaceConditionReasonFunc returns the reason for namespace condition

type GetTaskConditionReasonFunc

type GetTaskConditionReasonFunc func(t *Task) string

GetTaskConditionReasonFunc returns the reason of the task condition

type GetTaskletConditionReasonFunc

type GetTaskletConditionReasonFunc func(t *Tasklet) string

GetTaskletConditionReasonFunc returns the reason of the tasklet condition

type Namespace

type Namespace struct {
	TypeMeta   *v1.TypeMeta     `protobuf:"bytes,1,opt,name=typeMeta,proto3" json:"typeMeta,omitempty"`
	ObjectMeta *v1.ObjectMeta   `protobuf:"bytes,2,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"`
	Spec       *NamespaceSpec   `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"`
	Status     *NamespaceStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=rns Namespace is the schema of namespace

func (*Namespace) DeepCopy

func (in *Namespace) DeepCopy() *Namespace

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Namespace.

func (*Namespace) DeepCopyInto

func (in *Namespace) DeepCopyInto(out *Namespace)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Namespace) DeepCopyObject

func (in *Namespace) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Namespace) Descriptor deprecated

func (*Namespace) Descriptor() ([]byte, []int)

Deprecated: Use Namespace.ProtoReflect.Descriptor instead.

func (*Namespace) GetObjectKind

func (in *Namespace) GetObjectKind() schema.ObjectKind

GetObjectKind returns the runtime ObjectKind.

func (*Namespace) GetObjectMeta

func (x *Namespace) GetObjectMeta() *v1.ObjectMeta

func (*Namespace) GetSpec

func (x *Namespace) GetSpec() *NamespaceSpec

func (*Namespace) GetStatus

func (x *Namespace) GetStatus() *NamespaceStatus

func (*Namespace) GetTypeMeta

func (x *Namespace) GetTypeMeta() *v1.TypeMeta

func (*Namespace) ProtoMessage

func (*Namespace) ProtoMessage()

func (*Namespace) ProtoReflect

func (x *Namespace) ProtoReflect() protoreflect.Message

func (*Namespace) Reset

func (x *Namespace) Reset()

func (*Namespace) String

func (x *Namespace) String() string

type NamespaceCondition

type NamespaceCondition struct {
	Type           string   `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Status         string   `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	LastUpdateTime *v1.Time `protobuf:"bytes,3,opt,name=lastUpdateTime,proto3" json:"lastUpdateTime,omitempty"`
	Reason         string   `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true

func (*NamespaceCondition) DeepCopy

func (in *NamespaceCondition) DeepCopy() *NamespaceCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceCondition.

func (*NamespaceCondition) DeepCopyInto

func (in *NamespaceCondition) DeepCopyInto(out *NamespaceCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NamespaceCondition) Descriptor deprecated

func (*NamespaceCondition) Descriptor() ([]byte, []int)

Deprecated: Use NamespaceCondition.ProtoReflect.Descriptor instead.

func (*NamespaceCondition) GetLastUpdateTime

func (x *NamespaceCondition) GetLastUpdateTime() *v1.Time

func (*NamespaceCondition) GetReason

func (x *NamespaceCondition) GetReason() string

func (*NamespaceCondition) GetStatus

func (x *NamespaceCondition) GetStatus() string

func (*NamespaceCondition) GetType

func (x *NamespaceCondition) GetType() string

func (*NamespaceCondition) ProtoMessage

func (*NamespaceCondition) ProtoMessage()

func (*NamespaceCondition) ProtoReflect

func (x *NamespaceCondition) ProtoReflect() protoreflect.Message

func (*NamespaceCondition) Reset

func (x *NamespaceCondition) Reset()

func (*NamespaceCondition) String

func (x *NamespaceCondition) String() string

type NamespaceConditionFunc

type NamespaceConditionFunc func(n *Namespace) bool

NamespaceConditionFunc checks if condition type is complete

var (
	IsNamespaceUpserted NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Complete),
		withNamespaceConditionType(NamespaceUpsert))

	IsNamespaceInited NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Complete),
		withNamespaceConditionType(NamespaceInit))

	IsNamespaceCreated NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Complete),
		withNamespaceConditionType(NamespaceCreate))

	IsNamespacePostCreated NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Complete),
		withNamespaceConditionType(NamespacePostCreate))

	IsNamespacePreDeleted NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Complete),
		withNamespaceConditionType(NamespacePreDelete))

	IsNamespaceReady NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Complete),
		withNamespaceConditionType(NamespaceReady))

	IsNamespaceReadyFailed NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Failed),
		withNamespaceConditionType(NamespaceReady))

	IsNamespaceConverged NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Complete),
		withNamespaceConditionType(NamespaceInit),
		withNamespaceConditionType(NamespaceCreate),
		withNamespaceConditionType(NamespacePostCreate),
	)

	IsNamespaceConvergeFailed NamespaceConditionFunc = checkNamespaceConditions(
		withNamespaceConditionStatus(Failed),
		withNamespaceConditionType(NamespaceInit),
		withNamespaceConditionType(NamespaceCreate),
		withNamespaceConditionType(NamespacePostCreate),
		withNamespaceConditionShortCircuit(),
	)
)

exported namespace condition utils

type NamespaceConditionType

type NamespaceConditionType string

NamespaceConditionType is the condition type of namespace +kubebuilder:validation:Enum=NamespaceInit;NamespaceCreate;NamespacePostCreate;NamespacePreDelete;NamespaceReady

type NamespaceList

type NamespaceList struct {
	TypeMeta *v1.TypeMeta `protobuf:"bytes,1,opt,name=typeMeta,proto3" json:"typeMeta,omitempty"`
	ListMeta *v1.ListMeta `protobuf:"bytes,2,opt,name=listMeta,proto3" json:"listMeta,omitempty"`
	Items    []*Namespace `protobuf:"bytes,3,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:root=true TaskletList contains a list of tasklets

func (*NamespaceList) DeepCopy

func (in *NamespaceList) DeepCopy() *NamespaceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceList.

func (*NamespaceList) DeepCopyInto

func (in *NamespaceList) DeepCopyInto(out *NamespaceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NamespaceList) DeepCopyObject

func (in *NamespaceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NamespaceList) Descriptor deprecated

func (*NamespaceList) Descriptor() ([]byte, []int)

Deprecated: Use NamespaceList.ProtoReflect.Descriptor instead.

func (*NamespaceList) GetItems

func (x *NamespaceList) GetItems() []*Namespace

func (*NamespaceList) GetListMeta

func (x *NamespaceList) GetListMeta() *v1.ListMeta

func (*NamespaceList) GetObjectKind

func (in *NamespaceList) GetObjectKind() schema.ObjectKind

GetObjectKind returns the runtime ObjectKind.

func (*NamespaceList) GetTypeMeta

func (x *NamespaceList) GetTypeMeta() *v1.TypeMeta

func (*NamespaceList) ProtoMessage

func (*NamespaceList) ProtoMessage()

func (*NamespaceList) ProtoReflect

func (x *NamespaceList) ProtoReflect() protoreflect.Message

func (*NamespaceList) Reset

func (x *NamespaceList) Reset()

func (*NamespaceList) String

func (x *NamespaceList) String() string

type NamespaceSpec

type NamespaceSpec struct {
	Init          []*StepTemplate `protobuf:"bytes,1,rep,name=init,proto3" json:"init,omitempty"`
	NamespaceMeta *v1.ObjectMeta  `protobuf:"bytes,2,opt,name=namespaceMeta,proto3" json:"namespaceMeta,omitempty"`
	PostCreate    []*StepTemplate `protobuf:"bytes,3,rep,name=postCreate,proto3" json:"postCreate,omitempty"`
	PreDelete     []*StepTemplate `protobuf:"bytes,4,rep,name=preDelete,proto3" json:"preDelete,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true NamespaceSpec is the spec of the namespace

func (*NamespaceSpec) DeepCopy

func (in *NamespaceSpec) DeepCopy() *NamespaceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceSpec.

func (*NamespaceSpec) DeepCopyInto

func (in *NamespaceSpec) DeepCopyInto(out *NamespaceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NamespaceSpec) Descriptor deprecated

func (*NamespaceSpec) Descriptor() ([]byte, []int)

Deprecated: Use NamespaceSpec.ProtoReflect.Descriptor instead.

func (*NamespaceSpec) GetInit

func (x *NamespaceSpec) GetInit() []*StepTemplate

func (*NamespaceSpec) GetNamespaceMeta

func (x *NamespaceSpec) GetNamespaceMeta() *v1.ObjectMeta

func (*NamespaceSpec) GetPostCreate

func (x *NamespaceSpec) GetPostCreate() []*StepTemplate

func (*NamespaceSpec) GetPreDelete

func (x *NamespaceSpec) GetPreDelete() []*StepTemplate

func (*NamespaceSpec) ProtoMessage

func (*NamespaceSpec) ProtoMessage()

func (*NamespaceSpec) ProtoReflect

func (x *NamespaceSpec) ProtoReflect() protoreflect.Message

func (*NamespaceSpec) Reset

func (x *NamespaceSpec) Reset()

func (*NamespaceSpec) String

func (x *NamespaceSpec) String() string

type NamespaceStatus

type NamespaceStatus struct {
	ObservedGeneration int64                 `protobuf:"zigzag64,1,opt,name=observedGeneration,proto3" json:"observedGeneration,omitempty"`
	Conditions         []*NamespaceCondition `protobuf:"bytes,2,rep,name=conditions,proto3" json:"conditions,omitempty"`
	Init               []*StepStatus         `protobuf:"bytes,3,rep,name=init,proto3" json:"init,omitempty"`
	NamespaceRef       *v11.ObjectReference  `protobuf:"bytes,4,opt,name=namespaceRef,proto3" json:"namespaceRef,omitempty"`
	PostCreate         []*StepStatus         `protobuf:"bytes,5,rep,name=postCreate,proto3" json:"postCreate,omitempty"`
	PreDelete          []*StepStatus         `protobuf:"bytes,6,rep,name=preDelete,proto3" json:"preDelete,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true NamespaceStatus is the status of namespace

func (*NamespaceStatus) DeepCopy

func (in *NamespaceStatus) DeepCopy() *NamespaceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceStatus.

func (*NamespaceStatus) DeepCopyInto

func (in *NamespaceStatus) DeepCopyInto(out *NamespaceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NamespaceStatus) Descriptor deprecated

func (*NamespaceStatus) Descriptor() ([]byte, []int)

Deprecated: Use NamespaceStatus.ProtoReflect.Descriptor instead.

func (*NamespaceStatus) GetConditions

func (x *NamespaceStatus) GetConditions() []*NamespaceCondition

func (*NamespaceStatus) GetInit

func (x *NamespaceStatus) GetInit() []*StepStatus

func (*NamespaceStatus) GetNamespaceRef

func (x *NamespaceStatus) GetNamespaceRef() *v11.ObjectReference

func (*NamespaceStatus) GetObservedGeneration

func (x *NamespaceStatus) GetObservedGeneration() int64

func (*NamespaceStatus) GetPostCreate

func (x *NamespaceStatus) GetPostCreate() []*StepStatus

func (*NamespaceStatus) GetPreDelete

func (x *NamespaceStatus) GetPreDelete() []*StepStatus

func (*NamespaceStatus) ProtoMessage

func (*NamespaceStatus) ProtoMessage()

func (*NamespaceStatus) ProtoReflect

func (x *NamespaceStatus) ProtoReflect() protoreflect.Message

func (*NamespaceStatus) Reset

func (x *NamespaceStatus) Reset()

func (*NamespaceStatus) String

func (x *NamespaceStatus) String() string

type NewNamespaceConditionFunc

type NewNamespaceConditionFunc func(status ConditionStatus, reason string) *NamespaceCondition

NewNamespaceConditionFunc is the function signature for creating new namespace condition

type NewTaskConditionFunc

type NewTaskConditionFunc func(status ConditionStatus, reason string) *TaskCondition

NewTaskConditionFunc is the function signature for creating new task condition

type NewTaskletConditionFunc

type NewTaskletConditionFunc func(status ConditionStatus, reason string) *TaskletCondition

NewTaskletConditionFunc is the function signature for creating new tasklet condition

type NodeConditionType

type NodeConditionType string

NodeConditionType is the condition type of node +kubebuilder:validation:Enum=TaskletInit;TaskletInstall;TaskletPostInstall;TaskletPreDelete;TaskletReady

type StageSpec

type StageSpec = []StepTemplate

StageSpec is a list of steps

type StageStatus

type StageStatus = []StepStatus

StageStatus is as list of step status

type StepJobState

type StepJobState string

StepJobState is the state of the job described in the step +kubebuilder:validation:Enum=StepJobNotCreated;StepJobCreated;StepJobFailed;StepJobComplete

type StepObject

type StepObject struct {
	TypeMeta   *v1.TypeMeta   `protobuf:"bytes,1,opt,name=typeMeta,proto3" json:"typeMeta,omitempty"`
	ObjectMeta *v1.ObjectMeta `protobuf:"bytes,2,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"`
	Name       string         `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Raw        []byte         `protobuf:"bytes,4,opt,name=raw,proto3" json:"raw,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true StepObject can represent any kubernetes object

func (*StepObject) Accessor

func (so *StepObject) Accessor() (Accessor, error)

Accessor returns accessor for the step object

func (*StepObject) DeepCopy

func (in *StepObject) DeepCopy() *StepObject

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepObject.

func (*StepObject) DeepCopyInto

func (in *StepObject) DeepCopyInto(out *StepObject)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StepObject) Descriptor deprecated

func (*StepObject) Descriptor() ([]byte, []int)

Deprecated: Use StepObject.ProtoReflect.Descriptor instead.

func (*StepObject) GetName

func (x *StepObject) GetName() string

func (*StepObject) GetObjectMeta

func (x *StepObject) GetObjectMeta() *v1.ObjectMeta

func (*StepObject) GetRaw

func (x *StepObject) GetRaw() []byte

func (*StepObject) GetTypeMeta

func (x *StepObject) GetTypeMeta() *v1.TypeMeta

func (*StepObject) MarshalJSON

func (so *StepObject) MarshalJSON() ([]byte, error)

MarshalJSON marshals step object into json

func (*StepObject) ProtoMessage

func (*StepObject) ProtoMessage()

func (*StepObject) ProtoReflect

func (x *StepObject) ProtoReflect() protoreflect.Message

func (*StepObject) Reset

func (x *StepObject) Reset()

func (*StepObject) String

func (x *StepObject) String() string

func (*StepObject) UnmarshalJSON

func (so *StepObject) UnmarshalJSON(b []byte) error

UnmarshalJSON converts json to object

type StepObjectState

type StepObjectState string

StepObjectState is the state of the object described in the step +kubebuilder:validation:Enum=StepObjectNotCreated;StepObjectCreated;StepObjectFailed;StepObjectComplete

type StepOnFailed

type StepOnFailed string

StepOnFailed determines what should be done when execution of a step fails +kubebuilder:validation:Enum=StepBreak;StepContinue

func GetStepOnFail

func GetStepOnFail(t StepTemplate) StepOnFailed

GetStepOnFail returns on failed

type StepState

type StepState string

StepState is the aggregate state of the step +kubebuilder:validation:Enum=StepNotExecuted;StepExecuted;StepFailed;StepComplete

type StepStatus

type StepStatus struct {
	Name           string               `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	ObjectRef      *v11.ObjectReference `protobuf:"bytes,2,opt,name=objectRef,proto3" json:"objectRef,omitempty"`
	ObjectState    string               `protobuf:"bytes,3,opt,name=objectState,proto3" json:"objectState,omitempty"`
	ObjectReason   string               `protobuf:"bytes,4,opt,name=objectReason,proto3" json:"objectReason,omitempty"`
	JobState       string               `protobuf:"bytes,5,opt,name=jobState,proto3" json:"jobState,omitempty"`
	JobReason      string               `protobuf:"bytes,6,opt,name=jobReason,proto3" json:"jobReason,omitempty"`
	JobRef         *v11.ObjectReference `protobuf:"bytes,7,opt,name=jobRef,proto3" json:"jobRef,omitempty"`
	State          string               `protobuf:"bytes,8,opt,name=state,proto3" json:"state,omitempty"`
	Reason         string               `protobuf:"bytes,9,opt,name=reason,proto3" json:"reason,omitempty"`
	ObjectSpecHash string               `protobuf:"bytes,10,opt,name=objectSpecHash,proto3" json:"objectSpecHash,omitempty"`
	JobSpecHash    string               `protobuf:"bytes,11,opt,name=jobSpecHash,proto3" json:"jobSpecHash,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true StepStatus is the status of the step

func (*StepStatus) DeepCopy

func (in *StepStatus) DeepCopy() *StepStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepStatus.

func (*StepStatus) DeepCopyInto

func (in *StepStatus) DeepCopyInto(out *StepStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StepStatus) Descriptor deprecated

func (*StepStatus) Descriptor() ([]byte, []int)

Deprecated: Use StepStatus.ProtoReflect.Descriptor instead.

func (*StepStatus) GetJobReason

func (x *StepStatus) GetJobReason() string

func (*StepStatus) GetJobRef

func (x *StepStatus) GetJobRef() *v11.ObjectReference

func (*StepStatus) GetJobSpecHash

func (x *StepStatus) GetJobSpecHash() string

func (*StepStatus) GetJobState

func (x *StepStatus) GetJobState() string

func (*StepStatus) GetName

func (x *StepStatus) GetName() string

func (*StepStatus) GetObjectReason

func (x *StepStatus) GetObjectReason() string

func (*StepStatus) GetObjectRef

func (x *StepStatus) GetObjectRef() *v11.ObjectReference

func (*StepStatus) GetObjectSpecHash

func (x *StepStatus) GetObjectSpecHash() string

func (*StepStatus) GetObjectState

func (x *StepStatus) GetObjectState() string

func (*StepStatus) GetReason

func (x *StepStatus) GetReason() string

func (*StepStatus) GetState

func (x *StepStatus) GetState() string

func (*StepStatus) ProtoMessage

func (*StepStatus) ProtoMessage()

func (*StepStatus) ProtoReflect

func (x *StepStatus) ProtoReflect() protoreflect.Message

func (*StepStatus) Reset

func (x *StepStatus) Reset()

func (*StepStatus) String

func (x *StepStatus) String() string

type StepTemplate

type StepTemplate struct {
	Name        string                   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	OnFailed    string                   `protobuf:"bytes,2,opt,name=onFailed,proto3" json:"onFailed,omitempty"`
	Object      *StepObject              `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"`
	JobTemplate *v1beta1.JobTemplateSpec `protobuf:"bytes,4,opt,name=jobTemplate,proto3" json:"jobTemplate,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true StepTemplate is the description of a step

func (*StepTemplate) DeepCopy

func (in *StepTemplate) DeepCopy() *StepTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepTemplate.

func (*StepTemplate) DeepCopyInto

func (in *StepTemplate) DeepCopyInto(out *StepTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StepTemplate) Descriptor deprecated

func (*StepTemplate) Descriptor() ([]byte, []int)

Deprecated: Use StepTemplate.ProtoReflect.Descriptor instead.

func (*StepTemplate) GetJobTemplate

func (x *StepTemplate) GetJobTemplate() *v1beta1.JobTemplateSpec

func (*StepTemplate) GetName

func (x *StepTemplate) GetName() string

func (*StepTemplate) GetObject

func (x *StepTemplate) GetObject() *StepObject

func (*StepTemplate) GetOnFailed

func (x *StepTemplate) GetOnFailed() string

func (*StepTemplate) ProtoMessage

func (*StepTemplate) ProtoMessage()

func (*StepTemplate) ProtoReflect

func (x *StepTemplate) ProtoReflect() protoreflect.Message

func (*StepTemplate) Reset

func (x *StepTemplate) Reset()

func (*StepTemplate) String

func (x *StepTemplate) String() string

type Task

type Task struct {
	TypeMeta   *v1.TypeMeta   `protobuf:"bytes,1,opt,name=typeMeta,proto3" json:"typeMeta,omitempty"`
	ObjectMeta *v1.ObjectMeta `protobuf:"bytes,2,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"`
	Spec       *TaskSpec      `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"`
	Status     *TaskStatus    `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=rt Tasklet is the schema of task

func (*Task) DeepCopy

func (in *Task) DeepCopy() *Task

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.

func (*Task) DeepCopyInto

func (in *Task) DeepCopyInto(out *Task)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Task) DeepCopyObject

func (in *Task) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Task) Descriptor deprecated

func (*Task) Descriptor() ([]byte, []int)

Deprecated: Use Task.ProtoReflect.Descriptor instead.

func (*Task) GetObjectKind

func (in *Task) GetObjectKind() schema.ObjectKind

GetObjectKind returns the runtime ObjectKind.

func (*Task) GetObjectMeta

func (x *Task) GetObjectMeta() *v1.ObjectMeta

func (*Task) GetSpec

func (x *Task) GetSpec() *TaskSpec

func (*Task) GetStatus

func (x *Task) GetStatus() *TaskStatus

func (*Task) GetTypeMeta

func (x *Task) GetTypeMeta() *v1.TypeMeta

func (*Task) ProtoMessage

func (*Task) ProtoMessage()

func (*Task) ProtoReflect

func (x *Task) ProtoReflect() protoreflect.Message

func (*Task) Reset

func (x *Task) Reset()

func (*Task) String

func (x *Task) String() string

type TaskCondition

type TaskCondition struct {
	Type           string   `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Status         string   `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	LastUpdateTime *v1.Time `protobuf:"bytes,3,opt,name=lastUpdateTime,proto3" json:"lastUpdateTime,omitempty"`
	Reason         string   `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true TaskCondition is the condition of the tasklet

func (*TaskCondition) DeepCopy

func (in *TaskCondition) DeepCopy() *TaskCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskCondition.

func (*TaskCondition) DeepCopyInto

func (in *TaskCondition) DeepCopyInto(out *TaskCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskCondition) Descriptor deprecated

func (*TaskCondition) Descriptor() ([]byte, []int)

Deprecated: Use TaskCondition.ProtoReflect.Descriptor instead.

func (*TaskCondition) GetLastUpdateTime

func (x *TaskCondition) GetLastUpdateTime() *v1.Time

func (*TaskCondition) GetReason

func (x *TaskCondition) GetReason() string

func (*TaskCondition) GetStatus

func (x *TaskCondition) GetStatus() string

func (*TaskCondition) GetType

func (x *TaskCondition) GetType() string

func (*TaskCondition) ProtoMessage

func (*TaskCondition) ProtoMessage()

func (*TaskCondition) ProtoReflect

func (x *TaskCondition) ProtoReflect() protoreflect.Message

func (*TaskCondition) Reset

func (x *TaskCondition) Reset()

func (*TaskCondition) String

func (x *TaskCondition) String() string

type TaskConditionFunc

type TaskConditionFunc func(t *Task) bool

TaskConditionFunc checks if condition type is complete

var (
	IsTaskUpserted TaskConditionFunc = checkTaskConditions(
		withTaskConditionStatus(Complete),
		withTaskConditionType(TaskUpsert))

	IsTaskInited TaskConditionFunc = checkTaskConditions(
		withTaskConditionStatus(Complete),
		withTaskConditionType(TaskInit))

	IsTaskletCreated TaskConditionFunc = checkTaskConditions(
		withTaskConditionStatus(Complete),
		withTaskConditionType(TaskletCreate))

	IsTaskPreDeleted TaskConditionFunc = checkTaskConditions(
		withTaskConditionStatus(Complete),
		withTaskConditionType(TaskPreDelete))

	IsTaskReady TaskConditionFunc = checkTaskConditions(
		withTaskConditionStatus(Complete),
		withTaskConditionType(TaskReady))

	IsTaskFailed TaskConditionFunc = checkTaskConditions(
		withTaskConditionStatus(Failed),
		withTaskConditionType(TaskInit),
		withTaskConditionType(TaskletCreate),
		withTaskConditionType(TaskReady),
		withTaskConditionShortCircuit(),
	)

	IsTaskConverged TaskConditionFunc = checkTaskConditions(
		withTaskConditionStatus(Complete),
		withTaskConditionType(TaskInit),
		withTaskConditionType(TaskletCreate),
	)

	IsTaskConvergeFailed TaskConditionFunc = checkTaskConditions(
		withTaskConditionStatus(Failed),
		withTaskConditionType(TaskInit),
		withTaskConditionType(TaskletCreate),
		withTaskConditionShortCircuit(),
	)
)

exported task condition utils

type TaskConditionType

type TaskConditionType string

TaskConditionType is the condition type of task +kubebuilder:validation:Enum=TaskInit;TaskletCreate;TaskPreDelete;TaskReady

type TaskList

type TaskList struct {
	TypeMeta *v1.TypeMeta `protobuf:"bytes,1,opt,name=typeMeta,proto3" json:"typeMeta,omitempty"`
	ListMeta *v1.ListMeta `protobuf:"bytes,2,opt,name=listMeta,proto3" json:"listMeta,omitempty"`
	Items    []*Task      `protobuf:"bytes,3,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:root=true TaskList contains a list of tasks

func (*TaskList) DeepCopy

func (in *TaskList) DeepCopy() *TaskList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskList.

func (*TaskList) DeepCopyInto

func (in *TaskList) DeepCopyInto(out *TaskList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskList) DeepCopyObject

func (in *TaskList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TaskList) Descriptor deprecated

func (*TaskList) Descriptor() ([]byte, []int)

Deprecated: Use TaskList.ProtoReflect.Descriptor instead.

func (*TaskList) GetItems

func (x *TaskList) GetItems() []*Task

func (*TaskList) GetListMeta

func (x *TaskList) GetListMeta() *v1.ListMeta

func (*TaskList) GetObjectKind

func (in *TaskList) GetObjectKind() schema.ObjectKind

GetObjectKind returns the runtime ObjectKind.

func (*TaskList) GetTypeMeta

func (x *TaskList) GetTypeMeta() *v1.TypeMeta

func (*TaskList) ProtoMessage

func (*TaskList) ProtoMessage()

func (*TaskList) ProtoReflect

func (x *TaskList) ProtoReflect() protoreflect.Message

func (*TaskList) Reset

func (x *TaskList) Reset()

func (*TaskList) String

func (x *TaskList) String() string

type TaskSpec

type TaskSpec struct {
	Init      []*StepTemplate  `protobuf:"bytes,1,rep,name=init,proto3" json:"init,omitempty"`
	Tasklet   *TaskletTemplate `protobuf:"bytes,2,opt,name=tasklet,proto3" json:"tasklet,omitempty"`
	PreDelete []*StepTemplate  `protobuf:"bytes,3,rep,name=preDelete,proto3" json:"preDelete,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true TaskSpec is the spec of the task

func (*TaskSpec) DeepCopy

func (in *TaskSpec) DeepCopy() *TaskSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskSpec.

func (*TaskSpec) DeepCopyInto

func (in *TaskSpec) DeepCopyInto(out *TaskSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskSpec) Descriptor deprecated

func (*TaskSpec) Descriptor() ([]byte, []int)

Deprecated: Use TaskSpec.ProtoReflect.Descriptor instead.

func (*TaskSpec) GetInit

func (x *TaskSpec) GetInit() []*StepTemplate

func (*TaskSpec) GetPreDelete

func (x *TaskSpec) GetPreDelete() []*StepTemplate

func (*TaskSpec) GetTasklet

func (x *TaskSpec) GetTasklet() *TaskletTemplate

func (*TaskSpec) ProtoMessage

func (*TaskSpec) ProtoMessage()

func (*TaskSpec) ProtoReflect

func (x *TaskSpec) ProtoReflect() protoreflect.Message

func (*TaskSpec) Reset

func (x *TaskSpec) Reset()

func (*TaskSpec) String

func (x *TaskSpec) String() string

type TaskStatus

type TaskStatus struct {
	ObservedGeneration int64                `protobuf:"zigzag64,1,opt,name=observedGeneration,proto3" json:"observedGeneration,omitempty"`
	Conditions         []*TaskCondition     `protobuf:"bytes,2,rep,name=conditions,proto3" json:"conditions,omitempty"`
	Init               []*StepStatus        `protobuf:"bytes,3,rep,name=init,proto3" json:"init,omitempty"`
	TaskletRef         *v11.ObjectReference `protobuf:"bytes,4,opt,name=taskletRef,proto3" json:"taskletRef,omitempty"`
	PreDelete          []*StepStatus        `protobuf:"bytes,5,rep,name=preDelete,proto3" json:"preDelete,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true TaskStatus is the status of the task

func (*TaskStatus) DeepCopy

func (in *TaskStatus) DeepCopy() *TaskStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskStatus.

func (*TaskStatus) DeepCopyInto

func (in *TaskStatus) DeepCopyInto(out *TaskStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskStatus) Descriptor deprecated

func (*TaskStatus) Descriptor() ([]byte, []int)

Deprecated: Use TaskStatus.ProtoReflect.Descriptor instead.

func (*TaskStatus) GetConditions

func (x *TaskStatus) GetConditions() []*TaskCondition

func (*TaskStatus) GetInit

func (x *TaskStatus) GetInit() []*StepStatus

func (*TaskStatus) GetObservedGeneration

func (x *TaskStatus) GetObservedGeneration() int64

func (*TaskStatus) GetPreDelete

func (x *TaskStatus) GetPreDelete() []*StepStatus

func (*TaskStatus) GetTaskletRef

func (x *TaskStatus) GetTaskletRef() *v11.ObjectReference

func (*TaskStatus) ProtoMessage

func (*TaskStatus) ProtoMessage()

func (*TaskStatus) ProtoReflect

func (x *TaskStatus) ProtoReflect() protoreflect.Message

func (*TaskStatus) Reset

func (x *TaskStatus) Reset()

func (*TaskStatus) String

func (x *TaskStatus) String() string

type Tasklet

type Tasklet struct {
	TypeMeta   *v1.TypeMeta   `protobuf:"bytes,1,opt,name=typeMeta,proto3" json:"typeMeta,omitempty"`
	ObjectMeta *v1.ObjectMeta `protobuf:"bytes,2,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"`
	Spec       *TaskletSpec   `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"`
	Status     *TaskletStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=rtl Tasklet is the schema of tasklet

func (*Tasklet) DeepCopy

func (in *Tasklet) DeepCopy() *Tasklet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tasklet.

func (*Tasklet) DeepCopyInto

func (in *Tasklet) DeepCopyInto(out *Tasklet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Tasklet) DeepCopyObject

func (in *Tasklet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Tasklet) Descriptor deprecated

func (*Tasklet) Descriptor() ([]byte, []int)

Deprecated: Use Tasklet.ProtoReflect.Descriptor instead.

func (*Tasklet) GetObjectKind

func (in *Tasklet) GetObjectKind() schema.ObjectKind

GetObjectKind returns the runtime ObjectKind.

func (*Tasklet) GetObjectMeta

func (x *Tasklet) GetObjectMeta() *v1.ObjectMeta

func (*Tasklet) GetSpec

func (x *Tasklet) GetSpec() *TaskletSpec

func (*Tasklet) GetStatus

func (x *Tasklet) GetStatus() *TaskletStatus

func (*Tasklet) GetTypeMeta

func (x *Tasklet) GetTypeMeta() *v1.TypeMeta

func (*Tasklet) ProtoMessage

func (*Tasklet) ProtoMessage()

func (*Tasklet) ProtoReflect

func (x *Tasklet) ProtoReflect() protoreflect.Message

func (*Tasklet) Reset

func (x *Tasklet) Reset()

func (*Tasklet) String

func (x *Tasklet) String() string

type TaskletCondition

type TaskletCondition struct {
	Type           string   `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Status         string   `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	LastUpdateTime *v1.Time `protobuf:"bytes,3,opt,name=lastUpdateTime,proto3" json:"lastUpdateTime,omitempty"`
	Reason         string   `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true TaskletCondition is the condition of the tasklet

func (*TaskletCondition) DeepCopy

func (in *TaskletCondition) DeepCopy() *TaskletCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskletCondition.

func (*TaskletCondition) DeepCopyInto

func (in *TaskletCondition) DeepCopyInto(out *TaskletCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskletCondition) Descriptor deprecated

func (*TaskletCondition) Descriptor() ([]byte, []int)

Deprecated: Use TaskletCondition.ProtoReflect.Descriptor instead.

func (*TaskletCondition) GetLastUpdateTime

func (x *TaskletCondition) GetLastUpdateTime() *v1.Time

func (*TaskletCondition) GetReason

func (x *TaskletCondition) GetReason() string

func (*TaskletCondition) GetStatus

func (x *TaskletCondition) GetStatus() string

func (*TaskletCondition) GetType

func (x *TaskletCondition) GetType() string

func (*TaskletCondition) ProtoMessage

func (*TaskletCondition) ProtoMessage()

func (*TaskletCondition) ProtoReflect

func (x *TaskletCondition) ProtoReflect() protoreflect.Message

func (*TaskletCondition) Reset

func (x *TaskletCondition) Reset()

func (*TaskletCondition) String

func (x *TaskletCondition) String() string

type TaskletConditionFunc

type TaskletConditionFunc func(t *Tasklet) bool

TaskletConditionFunc checks if condition type is complete

var (
	IsTaskletUpserted TaskletConditionFunc = checkTaskletConditions(
		withTaskletConditionStatus(Complete),
		withTaskletConditionType(TaskletUpsert))

	IsTaskletInited TaskletConditionFunc = checkTaskletConditions(
		withTaskletConditionStatus(Complete),
		withTaskletConditionType(TaskletInit))

	IsTaskletInstalled TaskletConditionFunc = checkTaskletConditions(
		withTaskletConditionStatus(Complete),
		withTaskletConditionType(TaskletInstall))

	IsTaskletPostInstalled TaskletConditionFunc = checkTaskletConditions(
		withTaskletConditionStatus(Complete),
		withTaskletConditionType(TaskletPostInstall))

	IsTaskletPreDeleted TaskletConditionFunc = checkTaskletConditions(
		withTaskletConditionStatus(Complete),
		withTaskletConditionType(TaskletPreDelete))

	IsTaskletReady TaskletConditionFunc = checkTaskletConditions(
		withTaskletConditionStatus(Complete),
		withTaskletConditionType(TaskletReady))

	IsTaskletFailed TaskletConditionFunc = checkTaskletConditions(
		withTaskletConditionStatus(Failed),
		withTaskletConditionType(TaskletInit),
		withTaskletConditionType(TaskletInstall),
		withTaskletConditionType(TaskletPostInstall),
		withTaskletConditionType(TaskletReady),
		withTaskletConditionShortCircuit(),
	)
)

exported tasklet utils

type TaskletConditionType

type TaskletConditionType string

TaskletConditionType is the condition type of task +kubebuilder:validation:Enum=TaskletInit;TaskletInstall;TaskletPostInstall;TaskletPreDelete;TaskletReady

type TaskletList

type TaskletList struct {
	TypeMeta *v1.TypeMeta `protobuf:"bytes,1,opt,name=typeMeta,proto3" json:"typeMeta,omitempty"`
	ListMeta *v1.ListMeta `protobuf:"bytes,2,opt,name=listMeta,proto3" json:"listMeta,omitempty"`
	Items    []*Tasklet   `protobuf:"bytes,3,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:root=true TaskletList contains a list of tasklets

func (*TaskletList) DeepCopy

func (in *TaskletList) DeepCopy() *TaskletList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskletList.

func (*TaskletList) DeepCopyInto

func (in *TaskletList) DeepCopyInto(out *TaskletList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskletList) DeepCopyObject

func (in *TaskletList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TaskletList) Descriptor deprecated

func (*TaskletList) Descriptor() ([]byte, []int)

Deprecated: Use TaskletList.ProtoReflect.Descriptor instead.

func (*TaskletList) GetItems

func (x *TaskletList) GetItems() []*Tasklet

func (*TaskletList) GetListMeta

func (x *TaskletList) GetListMeta() *v1.ListMeta

func (*TaskletList) GetObjectKind

func (in *TaskletList) GetObjectKind() schema.ObjectKind

GetObjectKind returns the runtime ObjectKind.

func (*TaskletList) GetTypeMeta

func (x *TaskletList) GetTypeMeta() *v1.TypeMeta

func (*TaskletList) ProtoMessage

func (*TaskletList) ProtoMessage()

func (*TaskletList) ProtoReflect

func (x *TaskletList) ProtoReflect() protoreflect.Message

func (*TaskletList) Reset

func (x *TaskletList) Reset()

func (*TaskletList) String

func (x *TaskletList) String() string

type TaskletSpec

type TaskletSpec struct {
	Init        []*StepTemplate `protobuf:"bytes,1,rep,name=init,proto3" json:"init,omitempty"`
	Install     []*StepTemplate `protobuf:"bytes,2,rep,name=install,proto3" json:"install,omitempty"`
	PostInstall []*StepTemplate `protobuf:"bytes,3,rep,name=postInstall,proto3" json:"postInstall,omitempty"`
	PreDelete   []*StepTemplate `protobuf:"bytes,4,rep,name=preDelete,proto3" json:"preDelete,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true TaskletSpec is the spec of the tasklet

func (*TaskletSpec) DeepCopy

func (in *TaskletSpec) DeepCopy() *TaskletSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskletSpec.

func (*TaskletSpec) DeepCopyInto

func (in *TaskletSpec) DeepCopyInto(out *TaskletSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskletSpec) Descriptor deprecated

func (*TaskletSpec) Descriptor() ([]byte, []int)

Deprecated: Use TaskletSpec.ProtoReflect.Descriptor instead.

func (*TaskletSpec) GetInit

func (x *TaskletSpec) GetInit() []*StepTemplate

func (*TaskletSpec) GetInstall

func (x *TaskletSpec) GetInstall() []*StepTemplate

func (*TaskletSpec) GetPostInstall

func (x *TaskletSpec) GetPostInstall() []*StepTemplate

func (*TaskletSpec) GetPreDelete

func (x *TaskletSpec) GetPreDelete() []*StepTemplate

func (*TaskletSpec) ProtoMessage

func (*TaskletSpec) ProtoMessage()

func (*TaskletSpec) ProtoReflect

func (x *TaskletSpec) ProtoReflect() protoreflect.Message

func (*TaskletSpec) Reset

func (x *TaskletSpec) Reset()

func (*TaskletSpec) String

func (x *TaskletSpec) String() string

type TaskletStatus

type TaskletStatus struct {
	ObservedGeneration int64               `protobuf:"zigzag64,1,opt,name=observedGeneration,proto3" json:"observedGeneration,omitempty"`
	Conditions         []*TaskletCondition `protobuf:"bytes,2,rep,name=conditions,proto3" json:"conditions,omitempty"`
	Init               []*StepStatus       `protobuf:"bytes,3,rep,name=init,proto3" json:"init,omitempty"`
	Install            []*StepStatus       `protobuf:"bytes,4,rep,name=install,proto3" json:"install,omitempty"`
	PostInstall        []*StepStatus       `protobuf:"bytes,5,rep,name=postInstall,proto3" json:"postInstall,omitempty"`
	PreDelete          []*StepStatus       `protobuf:"bytes,6,rep,name=preDelete,proto3" json:"preDelete,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true TaskletStatus is the status of the tasklet

func (*TaskletStatus) DeepCopy

func (in *TaskletStatus) DeepCopy() *TaskletStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskletStatus.

func (*TaskletStatus) DeepCopyInto

func (in *TaskletStatus) DeepCopyInto(out *TaskletStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskletStatus) Descriptor deprecated

func (*TaskletStatus) Descriptor() ([]byte, []int)

Deprecated: Use TaskletStatus.ProtoReflect.Descriptor instead.

func (*TaskletStatus) GetConditions

func (x *TaskletStatus) GetConditions() []*TaskletCondition

func (*TaskletStatus) GetInit

func (x *TaskletStatus) GetInit() []*StepStatus

func (*TaskletStatus) GetInstall

func (x *TaskletStatus) GetInstall() []*StepStatus

func (*TaskletStatus) GetObservedGeneration

func (x *TaskletStatus) GetObservedGeneration() int64

func (*TaskletStatus) GetPostInstall

func (x *TaskletStatus) GetPostInstall() []*StepStatus

func (*TaskletStatus) GetPreDelete

func (x *TaskletStatus) GetPreDelete() []*StepStatus

func (*TaskletStatus) ProtoMessage

func (*TaskletStatus) ProtoMessage()

func (*TaskletStatus) ProtoReflect

func (x *TaskletStatus) ProtoReflect() protoreflect.Message

func (*TaskletStatus) Reset

func (x *TaskletStatus) Reset()

func (*TaskletStatus) String

func (x *TaskletStatus) String() string

type TaskletTemplate

type TaskletTemplate struct {
	ObjectMeta *v1.ObjectMeta `protobuf:"bytes,1,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"`
	Spec       *TaskletSpec   `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=true TaskletTemplate is the template for creating a tasklet

func (*TaskletTemplate) DeepCopy

func (in *TaskletTemplate) DeepCopy() *TaskletTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskletTemplate.

func (*TaskletTemplate) DeepCopyInto

func (in *TaskletTemplate) DeepCopyInto(out *TaskletTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskletTemplate) Descriptor deprecated

func (*TaskletTemplate) Descriptor() ([]byte, []int)

Deprecated: Use TaskletTemplate.ProtoReflect.Descriptor instead.

func (*TaskletTemplate) GetObjectMeta

func (x *TaskletTemplate) GetObjectMeta() *v1.ObjectMeta

func (*TaskletTemplate) GetSpec

func (x *TaskletTemplate) GetSpec() *TaskletSpec

func (*TaskletTemplate) ProtoMessage

func (*TaskletTemplate) ProtoMessage()

func (*TaskletTemplate) ProtoReflect

func (x *TaskletTemplate) ProtoReflect() protoreflect.Message

func (*TaskletTemplate) Reset

func (x *TaskletTemplate) Reset()

func (*TaskletTemplate) String

func (x *TaskletTemplate) String() string

Jump to

Keyboard shortcuts

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