common

package
v1.1.10 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2021 License: Apache-2.0 Imports: 6 Imported by: 10

Documentation

Overview

Package common contains types required for both v1alpha2 and v1beta1 +kubebuilder:object:generate=true

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppRolloutStatus added in v1.0.4

type AppRolloutStatus struct {
	v1alpha1.RolloutStatus `json:",inline"`

	// LastUpgradedTargetAppRevision contains the name of the app that we upgraded to
	// We will restart the rollout if this is not the same as the spec
	LastUpgradedTargetAppRevision string `json:"lastTargetAppRevision"`

	// LastSourceAppRevision contains the name of the app that we need to upgrade from.
	// We will restart the rollout if this is not the same as the spec
	LastSourceAppRevision string `json:"LastSourceAppRevision,omitempty"`
}

AppRolloutStatus defines the observed state of AppRollout

func (*AppRolloutStatus) DeepCopy added in v1.0.4

func (in *AppRolloutStatus) DeepCopy() *AppRolloutStatus

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

func (*AppRolloutStatus) DeepCopyInto added in v1.0.4

func (in *AppRolloutStatus) DeepCopyInto(out *AppRolloutStatus)

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

type AppStatus

type AppStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	condition.ConditionedStatus `json:",inline"`

	// The generation observed by the application controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	Rollout AppRolloutStatus `json:"rollout,omitempty"`

	Phase ApplicationPhase `json:"status,omitempty"`

	// Components record the related Components created by Application Controller
	Components []corev1.ObjectReference `json:"components,omitempty"`

	// Services record the status of the application services
	Services []ApplicationComponentStatus `json:"services,omitempty"`

	// ResourceTracker record the status of the ResourceTracker
	ResourceTracker *corev1.ObjectReference `json:"resourceTracker,omitempty"`

	// Workflow record the status of workflow
	Workflow *WorkflowStatus `json:"workflow,omitempty"`

	// LatestRevision of the application configuration it generates
	// +optional
	LatestRevision *Revision `json:"latestRevision,omitempty"`

	// AppliedResources record the resources that the  workflow step apply.
	AppliedResources []ClusterObjectReference `json:"appliedResources,omitempty"`
}

AppStatus defines the observed state of Application

func (*AppStatus) DeepCopy

func (in *AppStatus) DeepCopy() *AppStatus

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

func (*AppStatus) DeepCopyInto

func (in *AppStatus) DeepCopyInto(out *AppStatus)

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

type ApplicationComponent added in v1.1.0

type ApplicationComponent struct {
	Name string `json:"name"`
	Type string `json:"type"`
	// ExternalRevision specified the component revisionName
	ExternalRevision string `json:"externalRevision,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Properties *runtime.RawExtension `json:"properties,omitempty"`

	DependsOn []string    `json:"dependsOn,omitempty"`
	Inputs    StepInputs  `json:"inputs,omitempty"`
	Outputs   StepOutputs `json:"outputs,omitempty"`

	// Traits define the trait of one component, the type must be array to keep the order.
	Traits []ApplicationTrait `json:"traits,omitempty"`

	// +kubebuilder:pruning:PreserveUnknownFields
	// scopes in ApplicationComponent defines the component-level scopes
	// the format is <scope-type:scope-instance-name> pairs, the key represents type of `ScopeDefinition` while the value represent the name of scope instance.
	Scopes map[string]string `json:"scopes,omitempty"`
}

ApplicationComponent describe the component of application

func (*ApplicationComponent) DeepCopy added in v1.1.0

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

func (*ApplicationComponent) DeepCopyInto added in v1.1.0

func (in *ApplicationComponent) DeepCopyInto(out *ApplicationComponent)

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

type ApplicationComponentStatus

type ApplicationComponentStatus struct {
	Name string `json:"name"`
	Env  string `json:"env,omitempty"`
	// WorkloadDefinition is the definition of a WorkloadDefinition, such as deployments/apps.v1
	WorkloadDefinition WorkloadGVK              `json:"workloadDefinition,omitempty"`
	Healthy            bool                     `json:"healthy"`
	Message            string                   `json:"message,omitempty"`
	Traits             []ApplicationTraitStatus `json:"traits,omitempty"`
	Scopes             []corev1.ObjectReference `json:"scopes,omitempty"`
}

ApplicationComponentStatus record the health status of App component

func (*ApplicationComponentStatus) DeepCopy

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

func (*ApplicationComponentStatus) DeepCopyInto

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

type ApplicationPhase

type ApplicationPhase string

ApplicationPhase is a label for the condition of a application at the current time

const (
	// ApplicationRollingOut means the app is in the middle of rolling out
	ApplicationRollingOut ApplicationPhase = "rollingOut"
	// ApplicationStarting means the app is preparing for reconcile
	ApplicationStarting ApplicationPhase = "starting"
	// ApplicationRendering means the app is rendering
	ApplicationRendering ApplicationPhase = "rendering"
	// ApplicationPolicyGenerating means the app is generating policies
	ApplicationPolicyGenerating ApplicationPhase = "generatingPolicy"
	// ApplicationRunningWorkflow means the app is running workflow
	ApplicationRunningWorkflow ApplicationPhase = "runningWorkflow"
	// ApplicationWorkflowSuspending means the app's workflow is suspending
	ApplicationWorkflowSuspending ApplicationPhase = "workflowSuspending"
	// ApplicationWorkflowTerminated means the app's workflow is terminated
	ApplicationWorkflowTerminated ApplicationPhase = "workflowTerminated"
	// ApplicationWorkflowFinished means the app's workflow is finished
	ApplicationWorkflowFinished ApplicationPhase = "workflowFinished"
	// ApplicationRunning means the app finished rendering and applied result to the cluster
	ApplicationRunning ApplicationPhase = "running"
	// ApplicationUnhealthy means the app finished rendering and applied result to the cluster, but still unhealthy
	ApplicationUnhealthy ApplicationPhase = "unhealthy"
)

type ApplicationTrait added in v1.1.0

type ApplicationTrait struct {
	Type string `json:"type"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Properties *runtime.RawExtension `json:"properties,omitempty"`
}

ApplicationTrait defines the trait of application

func (*ApplicationTrait) DeepCopy added in v1.1.0

func (in *ApplicationTrait) DeepCopy() *ApplicationTrait

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

func (*ApplicationTrait) DeepCopyInto added in v1.1.0

func (in *ApplicationTrait) DeepCopyInto(out *ApplicationTrait)

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

type ApplicationTraitStatus

type ApplicationTraitStatus struct {
	Type    string `json:"type"`
	Healthy bool   `json:"healthy"`
	Message string `json:"message,omitempty"`
}

ApplicationTraitStatus records the trait health status

func (*ApplicationTraitStatus) DeepCopy

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

func (*ApplicationTraitStatus) DeepCopyInto

func (in *ApplicationTraitStatus) DeepCopyInto(out *ApplicationTraitStatus)

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

type CUE

type CUE struct {
	// Template defines the abstraction template data of the capability, it will replace the old CUE template in extension field.
	// Template is a required field if CUE is defined in Capability Definition.
	Template string `json:"template"`
}

CUE defines the encapsulation in CUE format

func (*CUE) DeepCopy

func (in *CUE) DeepCopy() *CUE

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

func (*CUE) DeepCopyInto

func (in *CUE) DeepCopyInto(out *CUE)

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

type ChildResourceKind

type ChildResourceKind struct {
	// APIVersion of the child resource
	APIVersion string `json:"apiVersion"`

	// Kind of the child resource
	Kind string `json:"kind"`

	// Selector to select the child resources that the workload wants to expose to traits
	Selector map[string]string `json:"selector,omitempty"`
}

A ChildResourceKind defines a child Kubernetes resource kind with a selector

func (*ChildResourceKind) DeepCopy

func (in *ChildResourceKind) DeepCopy() *ChildResourceKind

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

func (*ChildResourceKind) DeepCopyInto

func (in *ChildResourceKind) DeepCopyInto(out *ChildResourceKind)

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

type ClusterObjectReference added in v1.1.1

type ClusterObjectReference struct {
	Cluster                string              `json:"cluster,omitempty"`
	Creator                ResourceCreatorRole `json:"creator,omitempty"`
	corev1.ObjectReference `json:",inline"`
}

ClusterObjectReference defines the object reference with cluster.

func (*ClusterObjectReference) DeepCopy added in v1.1.1

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

func (*ClusterObjectReference) DeepCopyInto added in v1.1.1

func (in *ClusterObjectReference) DeepCopyInto(out *ClusterObjectReference)

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

type ClusterPlacement added in v1.1.0

type ClusterPlacement struct {
	// ClusterSelector selects the cluster to  deploy apps to.
	// If not specified, it indicates the host cluster per se.
	ClusterSelector *ClusterSelector `json:"clusterSelector,omitempty"`

	// Distribution defines the replica distribution of an AppRevision to a cluster.
	Distribution Distribution `json:"distribution,omitempty"`
}

ClusterPlacement defines the cluster placement rules for an app revision.

func (*ClusterPlacement) DeepCopy added in v1.1.0

func (in *ClusterPlacement) DeepCopy() *ClusterPlacement

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

func (*ClusterPlacement) DeepCopyInto added in v1.1.0

func (in *ClusterPlacement) DeepCopyInto(out *ClusterPlacement)

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

type ClusterSelector added in v1.1.0

type ClusterSelector struct {
	// Name is the name of the cluster.
	Name string `json:"name,omitempty"`

	// Labels defines the label selector to select the cluster.
	Labels map[string]string `json:"labels,omitempty"`
}

ClusterSelector defines the rules to select a Cluster resource. Either name or labels is needed.

func (*ClusterSelector) DeepCopy added in v1.1.0

func (in *ClusterSelector) DeepCopy() *ClusterSelector

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

func (*ClusterSelector) DeepCopyInto added in v1.1.0

func (in *ClusterSelector) DeepCopyInto(out *ClusterSelector)

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

type DefinitionReference

type DefinitionReference struct {
	// Name of the referenced CustomResourceDefinition.
	Name string `json:"name"`

	// Version indicate which version should be used if CRD has multiple versions
	// by default it will use the first one if not specified
	Version string `json:"version,omitempty"`
}

A DefinitionReference refers to a CustomResourceDefinition by name.

func (*DefinitionReference) DeepCopy

func (in *DefinitionReference) DeepCopy() *DefinitionReference

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

func (*DefinitionReference) DeepCopyInto

func (in *DefinitionReference) DeepCopyInto(out *DefinitionReference)

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

type DefinitionType added in v1.0.4

type DefinitionType string

DefinitionType describes the type of DefinitionRevision. +kubebuilder:validation:Enum=Component;Trait;Policy;WorkflowStep

const (
	// ComponentType represents DefinitionRevision refer to type ComponentDefinition
	ComponentType DefinitionType = "Component"

	// TraitType represents DefinitionRevision refer to type TraitDefinition
	TraitType DefinitionType = "Trait"

	// PolicyType represents DefinitionRevision refer to type PolicyDefinition
	PolicyType DefinitionType = "Policy"

	// WorkflowStepType represents DefinitionRevision refer to type WorkflowStepDefinition
	WorkflowStepType DefinitionType = "WorkflowStep"
)

type Distribution added in v1.1.0

type Distribution struct {
	// Replicas is the replica number.
	Replicas int `json:"replicas,omitempty"`
}

Distribution defines the replica distribution of an AppRevision to a cluster.

func (*Distribution) DeepCopy added in v1.1.0

func (in *Distribution) DeepCopy() *Distribution

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

func (*Distribution) DeepCopyInto added in v1.1.0

func (in *Distribution) DeepCopyInto(out *Distribution)

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

type Helm

type Helm struct {
	// Release records a Helm release used by a Helm module workload.
	// +kubebuilder:pruning:PreserveUnknownFields
	Release runtime.RawExtension `json:"release"`

	// HelmRelease records a Helm repository used by a Helm module workload.
	// +kubebuilder:pruning:PreserveUnknownFields
	Repository runtime.RawExtension `json:"repository"`
}

A Helm represents resources used by a Helm module

func (*Helm) DeepCopy

func (in *Helm) DeepCopy() *Helm

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

func (*Helm) DeepCopyInto

func (in *Helm) DeepCopyInto(out *Helm)

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

type Kube

type Kube struct {
	// Template defines the raw Kubernetes resource
	// +kubebuilder:pruning:PreserveUnknownFields
	Template runtime.RawExtension `json:"template"`

	// Parameters defines configurable parameters
	Parameters []KubeParameter `json:"parameters,omitempty"`
}

Kube defines the encapsulation in raw Kubernetes resource format

func (*Kube) DeepCopy

func (in *Kube) DeepCopy() *Kube

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

func (*Kube) DeepCopyInto

func (in *Kube) DeepCopyInto(out *Kube)

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

type KubeParameter

type KubeParameter struct {
	// Name of this parameter
	Name string `json:"name"`

	// +kubebuilder:validation:Enum:=string;number;boolean
	// ValueType indicates the type of the parameter value, and
	// only supports basic data types: string, number, boolean.
	ValueType ParameterValueType `json:"type"`

	// FieldPaths specifies an array of fields within this workload that will be
	// overwritten by the value of this parameter. 	All fields must be of the
	// same type. Fields are specified as JSON field paths without a leading
	// dot, for example 'spec.replicas'.
	FieldPaths []string `json:"fieldPaths"`

	// +kubebuilder:default:=false
	// Required specifies whether or not a value for this parameter must be
	// supplied when authoring an Application.
	Required *bool `json:"required,omitempty"`

	// Description of this parameter.
	Description *string `json:"description,omitempty"`
}

A KubeParameter defines a configurable parameter of a component.

func (*KubeParameter) DeepCopy

func (in *KubeParameter) DeepCopy() *KubeParameter

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

func (*KubeParameter) DeepCopyInto

func (in *KubeParameter) DeepCopyInto(out *KubeParameter)

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

type ParameterValueType

type ParameterValueType string

ParameterValueType refers to a data type of parameter

const (
	StringType  ParameterValueType = "string"
	NumberType  ParameterValueType = "number"
	BooleanType ParameterValueType = "boolean"
)

data types of parameter value

type RawComponent

type RawComponent struct {
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:pruning:PreserveUnknownFields
	Raw runtime.RawExtension `json:"raw"`
}

RawComponent record raw component

func (*RawComponent) DeepCopy

func (in *RawComponent) DeepCopy() *RawComponent

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

func (*RawComponent) DeepCopyInto

func (in *RawComponent) DeepCopyInto(out *RawComponent)

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

type RawExtensionPointer added in v1.1.5

type RawExtensionPointer struct {
	RawExtension *runtime.RawExtension
}

RawExtensionPointer is the pointer of raw extension

func (*RawExtensionPointer) DeepCopy added in v1.1.5

func (in *RawExtensionPointer) DeepCopy() *RawExtensionPointer

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

func (*RawExtensionPointer) DeepCopyInto added in v1.1.5

func (in *RawExtensionPointer) DeepCopyInto(out *RawExtensionPointer)

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

func (RawExtensionPointer) MarshalJSON added in v1.1.5

func (re RawExtensionPointer) MarshalJSON() ([]byte, error)

MarshalJSON may get called on pointers or values, so implement MarshalJSON on value. http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go

type ResourceCreatorRole added in v1.1.1

type ResourceCreatorRole string

ResourceCreatorRole defines the resource creator.

const (
	// PolicyResourceCreator create the policy resource.
	PolicyResourceCreator ResourceCreatorRole = "policy"
	// WorkflowResourceCreator create the resource in workflow.
	WorkflowResourceCreator ResourceCreatorRole = "workflow"
)

type Revision

type Revision struct {
	Name     string `json:"name"`
	Revision int64  `json:"revision"`

	// RevisionHash record the hash value of the spec of ApplicationRevision object.
	RevisionHash string `json:"revisionHash,omitempty"`
}

Revision has name and revision number

func (*Revision) DeepCopy

func (in *Revision) DeepCopy() *Revision

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

func (*Revision) DeepCopyInto

func (in *Revision) DeepCopyInto(out *Revision)

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

type Schematic

type Schematic struct {
	KUBE *Kube `json:"kube,omitempty"`

	CUE *CUE `json:"cue,omitempty"`

	HELM *Helm `json:"helm,omitempty"`

	Terraform *Terraform `json:"terraform,omitempty"`
}

Schematic defines the encapsulation of this capability(workload/trait/scope), the encapsulation can be defined in different ways, e.g. CUE/HCL(terraform)/KUBE(K8s Object)/HELM, etc...

func (*Schematic) DeepCopy

func (in *Schematic) DeepCopy() *Schematic

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

func (*Schematic) DeepCopyInto

func (in *Schematic) DeepCopyInto(out *Schematic)

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

type Status

type Status struct {
	// CustomStatus defines the custom status message that could display to user
	// +optional
	CustomStatus string `json:"customStatus,omitempty"`
	// HealthPolicy defines the health check policy for the abstraction
	// +optional
	HealthPolicy string `json:"healthPolicy,omitempty"`
}

Status defines the loop back status of the abstraction by using CUE template

func (*Status) DeepCopy

func (in *Status) DeepCopy() *Status

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

func (*Status) DeepCopyInto

func (in *Status) DeepCopyInto(out *Status)

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

type StepInputs added in v1.1.1

type StepInputs []inputItem

StepInputs defines variable input of WorkflowStep

func (StepInputs) DeepCopy added in v1.1.1

func (in StepInputs) DeepCopy() StepInputs

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

func (StepInputs) DeepCopyInto added in v1.1.1

func (in StepInputs) DeepCopyInto(out *StepInputs)

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

type StepOutputs added in v1.1.1

type StepOutputs []outputItem

StepOutputs defines output variable of WorkflowStep

func (StepOutputs) DeepCopy added in v1.1.1

func (in StepOutputs) DeepCopy() StepOutputs

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

func (StepOutputs) DeepCopyInto added in v1.1.1

func (in StepOutputs) DeepCopyInto(out *StepOutputs)

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

type SubStepsStatus added in v1.1.1

type SubStepsStatus struct {
	StepIndex int                     `json:"stepIndex,omitempty"`
	Mode      WorkflowMode            `json:"mode,omitempty"`
	Steps     []WorkflowSubStepStatus `json:"steps,omitempty"`
}

SubStepsStatus record the status of workflow steps.

func (*SubStepsStatus) DeepCopy added in v1.1.1

func (in *SubStepsStatus) DeepCopy() *SubStepsStatus

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

func (*SubStepsStatus) DeepCopyInto added in v1.1.1

func (in *SubStepsStatus) DeepCopyInto(out *SubStepsStatus)

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

type Terraform added in v1.0.4

type Terraform struct {
	// Configuration is Terraform Configuration
	Configuration string `json:"configuration"`

	// Type specifies which Terraform configuration it is, HCL or JSON syntax
	// +kubebuilder:default:=hcl
	// +kubebuilder:validation:Enum:=hcl;json;remote
	Type string `json:"type,omitempty"`

	// Path is the sub-directory of remote git repository. It's valid when remote is set
	Path string `json:"path,omitempty"`

	// ProviderReference specifies the reference to Provider
	ProviderReference *types.Reference `json:"providerRef,omitempty"`
}

Terraform is the struct to describe cloud resources managed by Hashicorp Terraform

func (*Terraform) DeepCopy added in v1.0.4

func (in *Terraform) DeepCopy() *Terraform

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

func (*Terraform) DeepCopyInto added in v1.0.4

func (in *Terraform) DeepCopyInto(out *Terraform)

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

type WorkflowMode added in v1.1.1

type WorkflowMode string

WorkflowMode describes the mode of workflow

const (
	// WorkflowModeDAG describes the DAG mode of workflow
	WorkflowModeDAG WorkflowMode = "DAG"
	// WorkflowModeStep describes the step by step mode of workflow
	WorkflowModeStep WorkflowMode = "StepByStep"
)

type WorkflowState added in v1.1.1

type WorkflowState string

WorkflowState is a string that mark the workflow state

const (
	// WorkflowStateTerminated means workflow is terminated manually, and it won't be started unless the spec changed.
	WorkflowStateTerminated WorkflowState = "terminated"
	// WorkflowStateSuspended means workflow is suspended manually, and it can be resumed.
	WorkflowStateSuspended WorkflowState = "suspended"
	// WorkflowStateFinished means workflow is running successfully, all steps finished.
	WorkflowStateFinished WorkflowState = "finished"
	// WorkflowStateExecuting means workflow is still running or waiting some steps.
	WorkflowStateExecuting WorkflowState = "executing"
)

type WorkflowStatus added in v1.1.0

type WorkflowStatus struct {
	AppRevision string       `json:"appRevision,omitempty"`
	Mode        WorkflowMode `json:"mode"`

	Suspend    bool `json:"suspend"`
	Terminated bool `json:"terminated"`

	ContextBackend *corev1.ObjectReference `json:"contextBackend,omitempty"`
	Steps          []WorkflowStepStatus    `json:"steps,omitempty"`
}

WorkflowStatus record the status of workflow

func (*WorkflowStatus) DeepCopy added in v1.1.0

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

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

func (*WorkflowStatus) DeepCopyInto added in v1.1.0

func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

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

type WorkflowStepPhase added in v1.1.0

type WorkflowStepPhase string

WorkflowStepPhase describes the phase of a workflow step.

const (
	// WorkflowStepPhaseSucceeded will make the controller run the next step.
	WorkflowStepPhaseSucceeded WorkflowStepPhase = "succeeded"
	// WorkflowStepPhaseFailed will make the controller stop the workflow and report error in `message`.
	WorkflowStepPhaseFailed WorkflowStepPhase = "failed"
	// WorkflowStepPhaseStopped will make the controller stop the workflow.
	WorkflowStepPhaseStopped WorkflowStepPhase = "stopped"
	// WorkflowStepPhaseRunning will make the controller continue the workflow.
	WorkflowStepPhaseRunning WorkflowStepPhase = "running"
)

type WorkflowStepStatus added in v1.1.0

type WorkflowStepStatus struct {
	ID    string            `json:"id"`
	Name  string            `json:"name,omitempty"`
	Type  string            `json:"type,omitempty"`
	Phase WorkflowStepPhase `json:"phase,omitempty"`
	// A human readable message indicating details about why the workflowStep is in this state.
	Message string `json:"message,omitempty"`
	// A brief CamelCase message indicating details about why the workflowStep is in this state.
	Reason   string          `json:"reason,omitempty"`
	SubSteps *SubStepsStatus `json:"subSteps,omitempty"`
}

WorkflowStepStatus record the status of a workflow step

func (*WorkflowStepStatus) DeepCopy added in v1.1.0

func (in *WorkflowStepStatus) DeepCopy() *WorkflowStepStatus

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

func (*WorkflowStepStatus) DeepCopyInto added in v1.1.0

func (in *WorkflowStepStatus) DeepCopyInto(out *WorkflowStepStatus)

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

type WorkflowSubStepStatus added in v1.1.1

type WorkflowSubStepStatus struct {
	ID    string            `json:"id"`
	Name  string            `json:"name,omitempty"`
	Type  string            `json:"type,omitempty"`
	Phase WorkflowStepPhase `json:"phase,omitempty"`
	// A human readable message indicating details about why the workflowStep is in this state.
	Message string `json:"message,omitempty"`
	// A brief CamelCase message indicating details about why the workflowStep is in this state.
	Reason string `json:"reason,omitempty"`
}

WorkflowSubStepStatus record the status of a workflow step

func (*WorkflowSubStepStatus) DeepCopy added in v1.1.1

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

func (*WorkflowSubStepStatus) DeepCopyInto added in v1.1.1

func (in *WorkflowSubStepStatus) DeepCopyInto(out *WorkflowSubStepStatus)

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

type WorkloadGVK

type WorkloadGVK struct {
	APIVersion string `json:"apiVersion"`
	Kind       string `json:"kind"`
}

WorkloadGVK refer to a Workload Type

func (*WorkloadGVK) DeepCopy

func (in *WorkloadGVK) DeepCopy() *WorkloadGVK

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

func (*WorkloadGVK) DeepCopyInto

func (in *WorkloadGVK) DeepCopyInto(out *WorkloadGVK)

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

type WorkloadTypeDescriptor

type WorkloadTypeDescriptor struct {
	// Type ref to a WorkloadDefinition via name
	Type string `json:"type,omitempty"`
	// Definition mutually exclusive to workload.type, a embedded WorkloadDefinition
	Definition WorkloadGVK `json:"definition,omitempty"`
}

A WorkloadTypeDescriptor refer to a Workload Type

func (*WorkloadTypeDescriptor) DeepCopy

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

func (*WorkloadTypeDescriptor) DeepCopyInto

func (in *WorkloadTypeDescriptor) DeepCopyInto(out *WorkloadTypeDescriptor)

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

Jump to

Keyboard shortcuts

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