Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the temporal.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=temporal.io
Index ¶
- Variables
- type AllAtOnceRolloutStrategy
- type BaseWorkerDeploymentVersion
- type CurrentWorkerDeploymentVersion
- type DefaultVersionUpdateStrategy
- type DeprecatedWorkerDeploymentVersion
- type GateWorkflowConfig
- type ManualRolloutStrategy
- type RolloutStep
- type RolloutStrategy
- type SecretReference
- type SunsetStrategy
- type TargetWorkerDeploymentVersion
- type TaskQueue
- type TemporalConnection
- type TemporalConnectionList
- type TemporalConnectionReference
- type TemporalConnectionSpec
- type TemporalConnectionStatus
- type TemporalWorkerDeployment
- func (in *TemporalWorkerDeployment) DeepCopy() *TemporalWorkerDeployment
- func (in *TemporalWorkerDeployment) DeepCopyInto(out *TemporalWorkerDeployment)
- func (in *TemporalWorkerDeployment) DeepCopyObject() runtime.Object
- func (r *TemporalWorkerDeployment) Default(ctx context.Context, obj runtime.Object) error
- func (r *TemporalWorkerDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *TemporalWorkerDeployment) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *TemporalWorkerDeployment) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *TemporalWorkerDeployment) ValidateUpdate(ctx context.Context, oldObj runtime.Object, newObj runtime.Object) (admission.Warnings, error)
- type TemporalWorkerDeploymentList
- type TemporalWorkerDeploymentSpec
- type TemporalWorkerDeploymentStatus
- type VersionStatus
- type WorkerOptions
- type WorkflowExecution
- type WorkflowExecutionStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "temporal.io", Version: "v1alpha1"} // 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 )
Functions ¶
This section is empty.
Types ¶
type AllAtOnceRolloutStrategy ¶
type AllAtOnceRolloutStrategy struct{}
func (*AllAtOnceRolloutStrategy) DeepCopy ¶
func (in *AllAtOnceRolloutStrategy) DeepCopy() *AllAtOnceRolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllAtOnceRolloutStrategy.
func (*AllAtOnceRolloutStrategy) DeepCopyInto ¶
func (in *AllAtOnceRolloutStrategy) DeepCopyInto(out *AllAtOnceRolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BaseWorkerDeploymentVersion ¶
type BaseWorkerDeploymentVersion struct { // BuildID is the unique identifier for this version of the worker deployment. BuildID string `json:"buildID"` // Status indicates whether workers in this version may // be eligible to receive tasks from the Temporal server. Status VersionStatus `json:"status"` // Healthy indicates whether the deployment version is healthy. // +optional HealthySince *metav1.Time `json:"healthySince,omitempty"` // A pointer to the version's managed k8s deployment. // +optional Deployment *corev1.ObjectReference `json:"deployment,omitempty"` // TaskQueues is a list of task queues that are associated with this version. TaskQueues []TaskQueue `json:"taskQueues,omitempty"` // ManagedBy is the identity of the client that is managing the rollout of this version. // +optional ManagedBy string `json:"managedBy,omitempty"` }
BaseWorkerDeploymentVersion contains fields common to all worker deployment version types
func (*BaseWorkerDeploymentVersion) DeepCopy ¶
func (in *BaseWorkerDeploymentVersion) DeepCopy() *BaseWorkerDeploymentVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseWorkerDeploymentVersion.
func (*BaseWorkerDeploymentVersion) DeepCopyInto ¶
func (in *BaseWorkerDeploymentVersion) DeepCopyInto(out *BaseWorkerDeploymentVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CurrentWorkerDeploymentVersion ¶
type CurrentWorkerDeploymentVersion struct {
BaseWorkerDeploymentVersion `json:",inline"`
}
CurrentWorkerDeploymentVersion represents a worker deployment version that is currently the default version for new workflow executions.
func (*CurrentWorkerDeploymentVersion) DeepCopy ¶
func (in *CurrentWorkerDeploymentVersion) DeepCopy() *CurrentWorkerDeploymentVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CurrentWorkerDeploymentVersion.
func (*CurrentWorkerDeploymentVersion) DeepCopyInto ¶
func (in *CurrentWorkerDeploymentVersion) DeepCopyInto(out *CurrentWorkerDeploymentVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefaultVersionUpdateStrategy ¶
type DefaultVersionUpdateStrategy string
DefaultVersionUpdateStrategy describes how to cut over new workflow executions to the target worker deployment version. +kubebuilder:validation:Enum=Manual;AllAtOnce;Progressive
const ( // UpdateManual scales worker resources up or down, but does not update the current or ramping worker deployment version. UpdateManual DefaultVersionUpdateStrategy = "Manual" // UpdateAllAtOnce starts 100% of new workflow executions on the new worker deployment version as soon as it's healthy. UpdateAllAtOnce DefaultVersionUpdateStrategy = "AllAtOnce" // UpdateProgressive ramps up the percentage of new workflow executions targeting the new worker deployment version over time. // // Note: If the Current Version of a Worker Deployment is nil and the controller cannot confirm that all Task Queues // in the Target Version have at least one unversioned poller, the controller will immediately set the new worker // deployment version to be Current and ignore the Progressive rollout steps. // Sending a percentage of traffic to a "nil" version means that traffic will be sent to unversioned workers. If // there are no unversioned workers, those tasks will get stuck. This behavior ensures that all traffic on the task // queues in this worker deployment can be handled by an active poller. UpdateProgressive DefaultVersionUpdateStrategy = "Progressive" )
type DeprecatedWorkerDeploymentVersion ¶
type DeprecatedWorkerDeploymentVersion struct { BaseWorkerDeploymentVersion `json:",inline"` // DrainedSince is the time at which the version became drained. // Only set when Status is VersionStatusDrained. // +optional DrainedSince *metav1.Time `json:"drainedSince,omitempty"` // A Version is eligible for deletion if it is drained and has no pollers on any task queue. // After pollers stop polling, the server will still consider them present until `matching.PollerHistoryTTL` // has passed. // +optional EligibleForDeletion bool `json:"eligibleForDeletion,omitempty"` }
DeprecatedWorkerDeploymentVersion represents a worker deployment version that is no longer the default and is being phased out.
func (*DeprecatedWorkerDeploymentVersion) DeepCopy ¶
func (in *DeprecatedWorkerDeploymentVersion) DeepCopy() *DeprecatedWorkerDeploymentVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeprecatedWorkerDeploymentVersion.
func (*DeprecatedWorkerDeploymentVersion) DeepCopyInto ¶
func (in *DeprecatedWorkerDeploymentVersion) DeepCopyInto(out *DeprecatedWorkerDeploymentVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GateWorkflowConfig ¶
type GateWorkflowConfig struct {
WorkflowType string `json:"workflowType"`
}
func (*GateWorkflowConfig) DeepCopy ¶
func (in *GateWorkflowConfig) DeepCopy() *GateWorkflowConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateWorkflowConfig.
func (*GateWorkflowConfig) DeepCopyInto ¶
func (in *GateWorkflowConfig) DeepCopyInto(out *GateWorkflowConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManualRolloutStrategy ¶
type ManualRolloutStrategy struct{}
func (*ManualRolloutStrategy) DeepCopy ¶
func (in *ManualRolloutStrategy) DeepCopy() *ManualRolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualRolloutStrategy.
func (*ManualRolloutStrategy) DeepCopyInto ¶
func (in *ManualRolloutStrategy) DeepCopyInto(out *ManualRolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStep ¶
type RolloutStep struct { // RampPercentage indicates what percentage of new workflow executions should be // routed to the new worker deployment version while this step is active. // For example, 15 means 15%. // // Acceptable range is [1,99] (1% to 99%). // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=99 RampPercentage int `json:"rampPercentage"` // PauseDuration indicates how long to pause before progressing to the next step. PauseDuration metav1.Duration `json:"pauseDuration"` }
func (*RolloutStep) DeepCopy ¶
func (in *RolloutStep) DeepCopy() *RolloutStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStep.
func (*RolloutStep) DeepCopyInto ¶
func (in *RolloutStep) DeepCopyInto(out *RolloutStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStrategy ¶
type RolloutStrategy struct { // Specifies how to treat concurrent executions of a Job. // Valid values are: // - "Manual" // - "AllAtOnce" // - "Progressive" Strategy DefaultVersionUpdateStrategy `json:"strategy"` // Gate specifies a workflow type that must run once to completion on the new worker deployment version before // any traffic is directed to the new version. Gate *GateWorkflowConfig `json:"gate,omitempty"` // Steps to execute progressive rollouts. Only required when strategy is "Progressive". // +optional Steps []RolloutStep `json:"steps,omitempty" protobuf:"bytes,3,rep,name=steps"` }
RolloutStrategy defines strategy to apply during next rollout
func (*RolloutStrategy) DeepCopy ¶
func (in *RolloutStrategy) DeepCopy() *RolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStrategy.
func (*RolloutStrategy) DeepCopyInto ¶
func (in *RolloutStrategy) DeepCopyInto(out *RolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReference ¶ added in v1.0.0
type SecretReference struct { // Name of the Secret resource. // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` Name string `json:"name"` }
SecretReference contains the name of a Secret resource in the same namespace.
func (*SecretReference) DeepCopy ¶ added in v1.0.0
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶ added in v1.0.0
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SunsetStrategy ¶
type SunsetStrategy struct { // ScaledownDelay specifies how long to wait after a version is drained before scaling its Deployment to zero. // Defaults to 1 hour. // +optional // +kubebuilder:default="1h" ScaledownDelay *metav1.Duration `json:"scaledownDelay"` // DeleteDelay specifies how long to wait after a version is drained before deleting its Deployment. // Defaults to 24 hours. // +optional // +kubebuilder:default="24h" DeleteDelay *metav1.Duration `json:"deleteDelay"` }
SunsetStrategy defines strategy to apply when sunsetting k8s deployments of drained versions.
func (*SunsetStrategy) DeepCopy ¶
func (in *SunsetStrategy) DeepCopy() *SunsetStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SunsetStrategy.
func (*SunsetStrategy) DeepCopyInto ¶
func (in *SunsetStrategy) DeepCopyInto(out *SunsetStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetWorkerDeploymentVersion ¶
type TargetWorkerDeploymentVersion struct { BaseWorkerDeploymentVersion `json:",inline"` // A TestWorkflow is used to validate the deployment version before making it the default. // +optional TestWorkflows []WorkflowExecution `json:"testWorkflows,omitempty"` // RampPercentage is the percentage of new workflow executions that are // configured to start on this version. For example, 1.5 means 1.5%. // Only set when Status is VersionStatusRamping. // // Acceptable range is [0.0,100.0] (0% to 100%). // +kubebuilder:validation:Minimum=0.0 // +kubebuilder:validation:Maximum=100.0 RampPercentage *float32 `json:"rampPercentage,omitempty"` // RampingSince is time when the version first started ramping. // Only set when Status is VersionStatusRamping. // +optional RampingSince *metav1.Time `json:"rampingSince,omitempty"` // RampLastModifiedAt is the time when the ramp percentage was last changed for the target version. // +optional RampLastModifiedAt *metav1.Time `json:"rampLastModifiedAt,omitempty"` }
TargetWorkerDeploymentVersion represents a worker deployment version that is the desired next version. It may be in various states during its lifecycle.
func (*TargetWorkerDeploymentVersion) DeepCopy ¶
func (in *TargetWorkerDeploymentVersion) DeepCopy() *TargetWorkerDeploymentVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetWorkerDeploymentVersion.
func (*TargetWorkerDeploymentVersion) DeepCopyInto ¶
func (in *TargetWorkerDeploymentVersion) DeepCopyInto(out *TargetWorkerDeploymentVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaskQueue ¶
type TaskQueue struct { // Name is the name of the task queue. Name string `json:"name"` }
func (*TaskQueue) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskQueue.
func (*TaskQueue) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalConnection ¶
type TemporalConnection struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TemporalConnectionSpec `json:"spec,omitempty"` Status TemporalConnectionStatus `json:"status,omitempty"` }
TemporalConnection is the Schema for the temporalconnections API
func (*TemporalConnection) DeepCopy ¶
func (in *TemporalConnection) DeepCopy() *TemporalConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnection.
func (*TemporalConnection) DeepCopyInto ¶
func (in *TemporalConnection) DeepCopyInto(out *TemporalConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemporalConnection) DeepCopyObject ¶
func (in *TemporalConnection) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TemporalConnectionList ¶
type TemporalConnectionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TemporalConnection `json:"items"` }
TemporalConnectionList contains a list of TemporalConnection
func (*TemporalConnectionList) DeepCopy ¶
func (in *TemporalConnectionList) DeepCopy() *TemporalConnectionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnectionList.
func (*TemporalConnectionList) DeepCopyInto ¶
func (in *TemporalConnectionList) DeepCopyInto(out *TemporalConnectionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemporalConnectionList) DeepCopyObject ¶
func (in *TemporalConnectionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TemporalConnectionReference ¶ added in v1.0.0
type TemporalConnectionReference struct { // Name of the TemporalConnection resource. // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` Name string `json:"name"` }
TemporalConnectionReference contains the name of a TemporalConnection resource in the same namespace as the TemporalWorkerDeployment.
func (*TemporalConnectionReference) DeepCopy ¶ added in v1.0.0
func (in *TemporalConnectionReference) DeepCopy() *TemporalConnectionReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnectionReference.
func (*TemporalConnectionReference) DeepCopyInto ¶ added in v1.0.0
func (in *TemporalConnectionReference) DeepCopyInto(out *TemporalConnectionReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalConnectionSpec ¶
type TemporalConnectionSpec struct { // The host and port of the Temporal server. // +kubebuilder:validation:Pattern=`^[a-zA-Z0-9.-]+:[0-9]+$` HostPort string `json:"hostPort"` // MutualTLSSecretRef is the name of the Secret that contains the TLS certificate and key // for mutual TLS authentication. The secret must be `type: kubernetes.io/tls` and exist // in the same Kubernetes namespace as the TemporalConnection resource. // // More information about creating a TLS secret: // https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets // +optional MutualTLSSecretRef *SecretReference `json:"mutualTLSSecretRef,omitempty"` }
TemporalConnectionSpec defines the desired state of TemporalConnection
func (*TemporalConnectionSpec) DeepCopy ¶
func (in *TemporalConnectionSpec) DeepCopy() *TemporalConnectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnectionSpec.
func (*TemporalConnectionSpec) DeepCopyInto ¶
func (in *TemporalConnectionSpec) DeepCopyInto(out *TemporalConnectionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalConnectionStatus ¶
type TemporalConnectionStatus struct { }
TemporalConnectionStatus defines the observed state of TemporalConnection
func (*TemporalConnectionStatus) DeepCopy ¶
func (in *TemporalConnectionStatus) DeepCopy() *TemporalConnectionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnectionStatus.
func (*TemporalConnectionStatus) DeepCopyInto ¶
func (in *TemporalConnectionStatus) DeepCopyInto(out *TemporalConnectionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalWorkerDeployment ¶
type TemporalWorkerDeployment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TemporalWorkerDeploymentSpec `json:"spec,omitempty"` Status TemporalWorkerDeploymentStatus `json:"status,omitempty"` }
TemporalWorkerDeployment is the Schema for the temporalworkerdeployments API
func (*TemporalWorkerDeployment) DeepCopy ¶
func (in *TemporalWorkerDeployment) DeepCopy() *TemporalWorkerDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalWorkerDeployment.
func (*TemporalWorkerDeployment) DeepCopyInto ¶
func (in *TemporalWorkerDeployment) DeepCopyInto(out *TemporalWorkerDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemporalWorkerDeployment) DeepCopyObject ¶
func (in *TemporalWorkerDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TemporalWorkerDeployment) Default ¶
Default implements webhook.CustomDefaulter so a webhook will be registered for the type
func (*TemporalWorkerDeployment) SetupWebhookWithManager ¶
func (r *TemporalWorkerDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*TemporalWorkerDeployment) ValidateCreate ¶
func (r *TemporalWorkerDeployment) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.CustomValidator so a webhook will be registered for the type
func (*TemporalWorkerDeployment) ValidateDelete ¶
func (r *TemporalWorkerDeployment) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.CustomValidator so a webhook will be registered for the type
type TemporalWorkerDeploymentList ¶
type TemporalWorkerDeploymentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TemporalWorkerDeployment `json:"items"` }
TemporalWorkerDeploymentList contains a list of TemporalWorkerDeployment
func (*TemporalWorkerDeploymentList) DeepCopy ¶
func (in *TemporalWorkerDeploymentList) DeepCopy() *TemporalWorkerDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalWorkerDeploymentList.
func (*TemporalWorkerDeploymentList) DeepCopyInto ¶
func (in *TemporalWorkerDeploymentList) DeepCopyInto(out *TemporalWorkerDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemporalWorkerDeploymentList) DeepCopyObject ¶
func (in *TemporalWorkerDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TemporalWorkerDeploymentSpec ¶
type TemporalWorkerDeploymentSpec struct { // Number of desired pods. This is a pointer to distinguish between explicit // zero and not specified. Defaults to 1. // This field makes TemporalWorkerDeploymentSpec implement the scale subresource, which is compatible with auto-scalers. // +optional // +kubebuilder:default=1 Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"` // Template describes the pods that will be created. // The only allowed template.spec.restartPolicy value is "Always". Template corev1.PodTemplateSpec `json:"template"` // Minimum number of seconds for which a newly created pod should be ready // without any of its container crashing, for it to be considered available. // Defaults to 0 (pod will be considered available as soon as it is ready) // +optional // +kubebuilder:default=0 MinReadySeconds int32 `json:"minReadySeconds,omitempty"` // The maximum time in seconds for a deployment to make progress before it // is considered to be failed. The deployment controller will continue to // process failed deployments and a condition with a ProgressDeadlineExceeded // reason will be surfaced in the deployment status. Note that progress will // not be estimated during the time a deployment is paused. Defaults to 600s. // +kubebuilder:default=600 ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"` // How to rollout new workflow executions to the target version. RolloutStrategy RolloutStrategy `json:"rollout"` // How to manage sunsetting drained versions. SunsetStrategy SunsetStrategy `json:"sunset"` // WorkerOptions configures the worker's connection to Temporal. WorkerOptions WorkerOptions `json:"workerOptions"` }
TemporalWorkerDeploymentSpec defines the desired state of TemporalWorkerDeployment
func (*TemporalWorkerDeploymentSpec) DeepCopy ¶
func (in *TemporalWorkerDeploymentSpec) DeepCopy() *TemporalWorkerDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalWorkerDeploymentSpec.
func (*TemporalWorkerDeploymentSpec) DeepCopyInto ¶
func (in *TemporalWorkerDeploymentSpec) DeepCopyInto(out *TemporalWorkerDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalWorkerDeploymentStatus ¶
type TemporalWorkerDeploymentStatus struct { // TargetVersion is the desired next version. If TargetVersion.Deployment is nil, // then the controller should create it. If not nil, the controller should // wait for it to become healthy and then move it to the CurrentVersion. TargetVersion TargetWorkerDeploymentVersion `json:"targetVersion"` // CurrentVersion is the version that is currently registered with // Temporal as the current version of its worker deployment. This will be nil // during initial bootstrap until a version is registered and set as current. CurrentVersion *CurrentWorkerDeploymentVersion `json:"currentVersion,omitempty"` // DeprecatedVersions are deployment versions that are no longer the default. Any // deployment versions that are unreachable should be deleted by the controller. DeprecatedVersions []*DeprecatedWorkerDeploymentVersion `json:"deprecatedVersions,omitempty"` // VersionConflictToken prevents concurrent modifications to the deployment status. // It ensures reconciliation operations don't inadvertently override changes made // by external systems while processing is underway. VersionConflictToken []byte `json:"versionConflictToken,omitempty"` // LastModifierIdentity is the identity of the client that most recently modified the worker deployment. // +optional LastModifierIdentity string `json:"lastModifierIdentity,omitempty"` // VersionCount is the total number of versions currently known by the worker deployment. // This includes current, target, ramping, and deprecated versions. // +optional // +kubebuilder:validation:Minimum=0 VersionCount int32 `json:"versionCount,omitempty"` }
TemporalWorkerDeploymentStatus defines the observed state of TemporalWorkerDeployment
func (*TemporalWorkerDeploymentStatus) DeepCopy ¶
func (in *TemporalWorkerDeploymentStatus) DeepCopy() *TemporalWorkerDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalWorkerDeploymentStatus.
func (*TemporalWorkerDeploymentStatus) DeepCopyInto ¶
func (in *TemporalWorkerDeploymentStatus) DeepCopyInto(out *TemporalWorkerDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionStatus ¶
type VersionStatus string
VersionStatus indicates the status of a version. +enum
const ( // VersionStatusNotRegistered indicates that the version is not registered // with Temporal for any worker deployment. VersionStatusNotRegistered VersionStatus = "NotRegistered" // VersionStatusInactive indicates that the version is registered in a Temporal // worker deployment, but has not been set to current or ramping. // A version is registered in a worker deployment after a poller with appropriate // DeploymentOptions starts polling. VersionStatusInactive VersionStatus = "Inactive" // VersionStatusRamping indicates that the version is the ramping version of its // worker deployment. It is accepting some percentage of new workflow executions. VersionStatusRamping VersionStatus = "Ramping" // VersionStatusCurrent indicates that the version is the current version of its // worker deployment. It is accepting all new workflow executions except for the // percent that are sent to the ramping version, if one exists. VersionStatusCurrent VersionStatus = "Current" // VersionStatusDraining indicates that the version has stopped accepting new workflows // (is no longer ramping or current) and DOES have open workflows pinned to it. VersionStatusDraining VersionStatus = "Draining" // VersionStatusDrained indicates that the version has stopped accepting new workflows // (is no longer ramping or current) and does NOT have open workflows pinned to it. // This version MAY still receive query tasks associated with closed workflows. VersionStatusDrained VersionStatus = "Drained" )
type WorkerOptions ¶
type WorkerOptions struct { // The name of a TemporalConnection in the same namespace as the TemporalWorkerDeployment. TemporalConnectionRef TemporalConnectionReference `json:"connectionRef"` // The Temporal namespace for the worker to connect to. // +kubebuilder:validation:MinLength=1 TemporalNamespace string `json:"temporalNamespace"` }
func (*WorkerOptions) DeepCopy ¶
func (in *WorkerOptions) DeepCopy() *WorkerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerOptions.
func (*WorkerOptions) DeepCopyInto ¶
func (in *WorkerOptions) DeepCopyInto(out *WorkerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowExecution ¶
type WorkflowExecution struct { WorkflowID string `json:"workflowID"` RunID string `json:"runID"` Status WorkflowExecutionStatus `json:"status"` TaskQueue string `json:"taskQueue"` }
func (*WorkflowExecution) DeepCopy ¶
func (in *WorkflowExecution) DeepCopy() *WorkflowExecution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowExecution.
func (*WorkflowExecution) DeepCopyInto ¶
func (in *WorkflowExecution) DeepCopyInto(out *WorkflowExecution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowExecutionStatus ¶
type WorkflowExecutionStatus string
WorkflowExecutionStatus describes the current state of a workflow. +enum
const ( // WorkflowExecutionStatusRunning indicates that the workflow is currently running. WorkflowExecutionStatusRunning WorkflowExecutionStatus = "Running" // WorkflowExecutionStatusCompleted indicates that the workflow has completed successfully. WorkflowExecutionStatusCompleted WorkflowExecutionStatus = "Completed" // WorkflowExecutionStatusFailed indicates that the workflow has failed. WorkflowExecutionStatusFailed WorkflowExecutionStatus = "Failed" // WorkflowExecutionStatusCanceled indicates that the workflow has been canceled. WorkflowExecutionStatusCanceled WorkflowExecutionStatus = "Canceled" // WorkflowExecutionStatusTerminated indicates that the workflow has been terminated. WorkflowExecutionStatusTerminated WorkflowExecutionStatus = "Terminated" // WorkflowExecutionStatusTimedOut indicates that the workflow has timed out. WorkflowExecutionStatusTimedOut WorkflowExecutionStatus = "TimedOut" )