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 GateInputSource
- 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 GateInputSource ¶ added in v1.1.1
type GateInputSource struct {
// Select a key of a ConfigMap in the same namespace
// +optional
ConfigMapKeyRef *corev1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
// Select a key of a Secret in the same namespace
// +optional
SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}
GateInputSource references a value from a ConfigMap or a Secret
type GateWorkflowConfig ¶
type GateWorkflowConfig struct {
WorkflowType string `json:"workflowType"`
// Input is an arbitrary JSON object passed as the first parameter to the gate workflow.
// For inputs with secrets use SecretKeyRef in InputFrom to omit from logs.
// +optional
Input *apiextensionsv1.JSON `json:"input,omitempty"`
// InputFrom references a key in a ConfigMap or Secret whose contents are passed
// as the first parameter to the gate workflow. The referenced value should be a JSON document.
// For inputs with secrets use SecretKeyRef to omit from logs.
// +optional
InputFrom *GateInputSource `json:"inputFrom,omitempty"`
}
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"`
// APIKeySecretRef selects the Secret key that contains the API key used for authentication.
// The Secret must be `type: kubernetes.io/opaque` and exist in the same Kubernetes namespace as
// the TemporalConnection resource. This is a corev1.SecretKeySelector and encodes both:
// - LocalObjectReference.Name: the name of the Secret resource
// - Key: the data key within Secret.Data whose value is the API key token
// +optional
APIKeySecretRef *corev1.SecretKeySelector `json:"apiKeySecretRef,omitempty"`
}
TemporalConnectionSpec defines the desired state of TemporalConnection +kubebuilder:validation:XValidation:rule="!(has(self.mutualTLSSecretRef) && has(self.apiKeySecretRef))",message="Only one of mutualTLSSecretRef or apiKeySecretRef may be set"
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" )