v1beta1

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the v1beta1 API group +kubebuilder:object:generate=true +groupName=temporal.io

Licensed to Alexandre VILAIN under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. Alexandre VILAIN licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	// ReconcileErrorCondition indicates a transient or persistent reconciliation error.
	ReconcileErrorCondition string = "ReconcileError"
	// ReconcileSuccessCondition indicates a successful reconciliation.
	ReconcileSuccessCondition string = "ReconcileSuccess"
	// ReadyCondition indicates the cluster is ready to receive traffic.
	ReadyCondition string = "Ready"
)
View Source
const (
	// ProgressingReason signals a reconciliation has started.
	ProgressingReason string = "Progressing"
	// ReconcileErrorReason signals a unknown reconciliation error.
	ReconcileErrorReason string = "LastReconcileCycleFailed"
	// ReconcileSuccessReason signals a successful reconciliation.
	ReconcileSuccessReason string = "LastReconcileCycleSucceded"
	// ServicesReadyReason signals all temporal services for the cluster are in ready state.
	ServicesReadyReason string = "ServicesReady"
	// ServicesNotReadyReason signals that not all temporal services for the cluster are in ready state.
	ServicesNotReadyReason string = "ServicesNotReady"
	// PersistenceReconciliationFailedReason signals an error while reconciling persistence.
	PersistenceReconciliationFailedReason string = "PersistenceReconciliationFailed"
	// ResourcesReconciliationFailedReason signals an error while reconciling cluster resources.
	ResourcesReconciliationFailedReason string = "ResoucesReconciliationFailed"
	// TemporalClusterValidationFailedReason signals an error while validation desired cluster version.
	TemporalClusterValidationFailedReason string = "TemporalClusterValidationFailed"
	// TemporalNamespaceCreatedReason signals a successful namespace creation.
	TemporalNamespaceCreatedReason string = "TemporalNamespaceCreated"
	// TemporalScheduleCreatedReason signals a successful schedule creation.
	TemporalScheduleCreatedReason string = "TemporalScheduleCreated"
)
View Source
const (
	DefaultStoreName             = "default"
	VisibilityStoreName          = "visibility"
	SecondaryVisibilityStoreName = "secondaryVisibility"
	AdvancedVisibilityStoreName  = "advancedVisibility"
)
View Source
const (

	// DataStoreClientTLSCertFileName is the default client TLS cert file name.
	DataStoreClientTLSCertFileName = "client.pem"
	// DataStoreClientTLSKeyFileName is the default client TLS key file name.
	DataStoreClientTLSKeyFileName = "client.key"
	// DataStoreClientTLSCaFileName is the default client TLS ca file name.
	DataStoreClientTLSCaFileName = "ca.pem"
)
View Source
const (
	ScheduleOverlapPolicyUnspecified    = "unspecified"
	ScheduleOverlapPolicySkip           = "skip"
	ScheduleOverlapPolicyBufferOne      = "bufferOne"
	ScheduleOverlapPolicyBufferAll      = "bufferAll"
	ScheduleOverlapPolicyCancelOther    = "cancelOther"
	ScheduleOverlapPolicyTerminateOther = "terminateOther"
	ScheduleOverlapPolicyAllowAll       = "allowAll"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "temporal.io", Version: "v1beta1"}

	// 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

	// TemporalClusterTypeMeta is the TypeMeta for TemporalCluster.
	TemporalClusterTypeMeta = metav1.TypeMeta{
		Kind:       "TemporalCluster",
		APIVersion: GroupVersion.String(),
	}
)

Functions

func GetTemporalClusterReadyCondition

func GetTemporalClusterReadyCondition(c *TemporalCluster) (*metav1.Condition, bool)

GetTemporalClusterReadyCondition returns the ready condition for the provided cluster if found.

func SetTemporalClusterReady

func SetTemporalClusterReady(c *TemporalCluster, status metav1.ConditionStatus, reason, message string)

SetTemporalClusterReady sets the ReadyCondition status for a temporal cluster.

func SetTemporalClusterReconcileError

func SetTemporalClusterReconcileError(c *TemporalCluster, status metav1.ConditionStatus, reason, message string)

SetTemporalClusterReconcileError sets the ReconcileErrorCondition status for a temporal cluster.

func SetTemporalClusterReconcileSuccess

func SetTemporalClusterReconcileSuccess(c *TemporalCluster, status metav1.ConditionStatus, reason, message string)

SetTemporalClusterReconcileSuccess sets the ReconcileSuccessCondition status for a temporal cluster.

func SetTemporalNamespaceReady added in v0.11.0

func SetTemporalNamespaceReady(c *TemporalNamespace, status metav1.ConditionStatus, reason, message string)

SetTemporalNamespaceReady sets the ReadyCondition status for a temporal namespace.

func SetTemporalNamespaceReconcileError

func SetTemporalNamespaceReconcileError(n *TemporalNamespace, status metav1.ConditionStatus, reason, message string)

SetTemporalNamespaceReconcileError sets the ReconcileErrorCondition status for a temporal namespace.

func SetTemporalNamespaceReconcileSuccess

func SetTemporalNamespaceReconcileSuccess(n *TemporalNamespace, status metav1.ConditionStatus, reason, message string)

SetTemporalNamespaceReconcileSuccess sets the ReconcileSuccessCondition status for a temporal namespace.

func SetTemporalScheduleReady added in v0.19.0

func SetTemporalScheduleReady(s *TemporalSchedule, status metav1.ConditionStatus, reason, message string)

SetTemporalScheduleReady sets the ReadyCondition status for a temporal schedule.

func SetTemporalScheduleReconcileError added in v0.19.0

func SetTemporalScheduleReconcileError(s *TemporalSchedule, status metav1.ConditionStatus, reason, message string)

SetTemporalScheduleReconcileError sets the ReconcileErrorCondition status for a temporal schedule.

func SetTemporalScheduleReconcileSuccess added in v0.19.0

func SetTemporalScheduleReconcileSuccess(s *TemporalSchedule, status metav1.ConditionStatus, reason, message string)

SetTemporalScheduleReconcileSuccess sets the ReconcileSuccessCondition status for a temporal schedule.

Types

type ArchivalProvider added in v0.15.0

type ArchivalProvider struct {
	// +optional
	Filestore *FilestoreArchiver `json:"filestore,omitempty"`
	// +optional
	S3 *S3Archiver `json:"s3,omitempty"`
	// +optional
	GCS *GCSArchiver `json:"gcs,omitempty"`
}

ArchivalProvider contains the config for archivers.

func (*ArchivalProvider) DeepCopy added in v0.15.0

func (in *ArchivalProvider) DeepCopy() *ArchivalProvider

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

func (*ArchivalProvider) DeepCopyInto added in v0.15.0

func (in *ArchivalProvider) DeepCopyInto(out *ArchivalProvider)

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

func (*ArchivalProvider) Kind added in v0.15.0

type ArchivalProviderKind added in v0.15.0

type ArchivalProviderKind string
const (
	FileStoreArchivalProviderKind ArchivalProviderKind = "filestore"
	S3ArchivalProviderKind        ArchivalProviderKind = "s3"
	GCSArchivalProviderKind       ArchivalProviderKind = "gcs"
	UnknownArchivalProviderKind   ArchivalProviderKind = "unknown"
)

type ArchivalSpec added in v0.15.0

type ArchivalSpec struct {
	// Enabled defines if the archival is enabled by default for all namespaces
	// or for a particular namespace (depends if it's for a TemporalCluster or a TemporalNamespace).
	// +kubebuilder:default:=false
	// +optional
	Enabled bool `json:"enabled"`
	// Paused defines if the archival is paused.
	// +kubebuilder:default:=false
	Paused bool `json:"paused"`
	// EnableRead allows temporal to read from the archived Event History.
	// +kubebuilder:default:=false
	EnableRead bool `json:"enableRead"`
	// Path is ...
	// +kubebuilder:validation:Required
	Path string `json:"path"`
}

ArchivalSpec is the archival configuration for a particular persistence type (history or visibility).

func (*ArchivalSpec) DeepCopy added in v0.15.0

func (in *ArchivalSpec) DeepCopy() *ArchivalSpec

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

func (*ArchivalSpec) DeepCopyInto added in v0.15.0

func (in *ArchivalSpec) DeepCopyInto(out *ArchivalSpec)

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

type AuthorizationSpec added in v0.16.0

type AuthorizationSpec struct {
	// JWTKeyProvider specifies the signing key provider used for validating JWT tokens.
	// +optional
	JWTKeyProvider AuthorizationSpecJWTKeyProvider `json:"jwtKeyProvider"`

	// PermissionsClaimName is the name of the claim within the JWT token that contains the user's permissions.
	// +optional
	PermissionsClaimName string `json:"permissionsClaimName"`

	// Authorizer defines the authorization mechanism to be used. It can be left as an empty string to
	// use a no-operation authorizer (noopAuthorizer), or set to "default" to use the temporal's default
	// authorizer (defaultAuthorizer).
	// +optional
	Authorizer string `json:"authorizer"`

	// ClaimMapper specifies the claim mapping mechanism used for handling JWT claims. Similar to the Authorizer,
	// it can be left as an empty string to use a no-operation claim mapper (noopClaimMapper), or set to "default"
	// to use the default JWT claim mapper (defaultJWTClaimMapper).
	// +optional
	ClaimMapper string `json:"claimMapper"`
}

AuthorizationSpec defines the specifications for authorization in the temporal cluster. It contains fields that configure how JWT tokens are validated, how permissions are managed, and how claims are mapped.

func (*AuthorizationSpec) DeepCopy added in v0.16.0

func (in *AuthorizationSpec) DeepCopy() *AuthorizationSpec

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

func (*AuthorizationSpec) DeepCopyInto added in v0.16.0

func (in *AuthorizationSpec) DeepCopyInto(out *AuthorizationSpec)

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

type AuthorizationSpecJWTKeyProvider added in v0.16.0

type AuthorizationSpecJWTKeyProvider struct {
	// KeySourceURIs is a list of URIs where the JWT signing keys can be obtained. These URIs are used by the
	// authorization system to fetch the public keys necessary for validating JWT tokens.
	// +optional
	KeySourceURIs []string `json:"keySourceURIs"`

	// RefreshInterval defines the time interval at which temporal should refresh the JWT signing keys from
	// the specified URIs.
	// +optional
	RefreshInterval *metav1.Duration `json:"refreshInterval"`
}

AuthorizationSpecJWTKeyProvider defines the configuration for a JWT key provider within the AuthorizationSpec. It specifies where to source the JWT keys from and how often they should be refreshed.

func (*AuthorizationSpecJWTKeyProvider) DeepCopy added in v0.16.0

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

func (*AuthorizationSpecJWTKeyProvider) DeepCopyInto added in v0.16.0

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

type CassandraConsistencySpec

type CassandraConsistencySpec struct {
	// Consistency sets the default consistency level.
	// Values identical to gocql Consistency values. (defaults to LOCAL_QUORUM if not set).
	// +kubebuilder:validation:Enum=ANY;ONE;TWO;THREE;QUORUM;ALL;LOCAL_QUORUM;EACH_QUORUM;LOCAL_ONE
	// +optional
	Consistency *gocql.Consistency `json:"consistency"`
	// SerialConsistency sets the consistency for the serial prtion of queries. Values identical to gocql SerialConsistency values.
	// (defaults to LOCAL_SERIAL if not set)
	// +kubebuilder:validation:Enum=SERIAL;LOCAL_SERIAL
	// +optional
	SerialConsistency *gocql.SerialConsistency `json:"serialConsistency"`
}

CassandraConsistencySpec sets the consistency level for regular & serial queries to Cassandra.

func (*CassandraConsistencySpec) DeepCopy

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

func (*CassandraConsistencySpec) DeepCopyInto

func (in *CassandraConsistencySpec) DeepCopyInto(out *CassandraConsistencySpec)

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

type CassandraSpec

type CassandraSpec struct {
	// Hosts is a list of cassandra endpoints.
	Hosts []string `json:"hosts"`
	// Port is the cassandra port used for connection by gocql client.
	Port int `json:"port"`
	// User is the cassandra user used for authentication by gocql client.
	User string `json:"user"`
	// Keyspace is the cassandra keyspace.
	Keyspace string `json:"keyspace"`
	// Datacenter is the data center filter arg for cassandra.
	// +optional
	Datacenter string `json:"datacenter"`
	// MaxConns is the max number of connections to this datastore for a single keyspace.
	// +optional
	MaxConns int `json:"maxConns"`
	// ConnectTimeout is a timeout for initial dial to cassandra server.
	// +optional
	ConnectTimeout *metav1.Duration `json:"connectTimeout"`
	// Consistency configuration.
	// +optional
	Consistency *CassandraConsistencySpec `json:"consistency,omitempty"`
	// DisableInitialHostLookup instructs the gocql client to connect only using the supplied hosts.
	// +optional
	DisableInitialHostLookup bool `json:"disableInitialHostLookup"`
}

CassandraSpec contains cassandra datastore connections specifications.

func (*CassandraSpec) DeepCopy

func (in *CassandraSpec) DeepCopy() *CassandraSpec

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

func (*CassandraSpec) DeepCopyInto

func (in *CassandraSpec) DeepCopyInto(out *CassandraSpec)

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

type CertificatesDurationSpec

type CertificatesDurationSpec struct {
	// RootCACertificate is the 'duration' (i.e. lifetime) of the Root CA Certificate.
	// It defaults to 10 years.
	// +optional
	RootCACertificate *metav1.Duration `json:"rootCACertificate"` //nolint:tagliatelle
	// IntermediateCACertificates is the 'duration' (i.e. lifetime) of the intermediate CAs Certificates.
	// It defaults to 5 years.
	// +optional
	IntermediateCAsCertificates *metav1.Duration `json:"intermediateCAsCertificates"`
	// ClientCertificates is the 'duration' (i.e. lifetime) of the client certificates.
	// It defaults to 1 year.
	// +optional
	ClientCertificates *metav1.Duration `json:"clientCertificates"`
	// FrontendCertificate is the 'duration' (i.e. lifetime) of the frontend certificate.
	// It defaults to 1 year.
	// +optional
	FrontendCertificate *metav1.Duration `json:"frontendCertificate"`
	// InternodeCertificate is the 'duration' (i.e. lifetime) of the internode certificate.
	// It defaults to 1 year.
	// +optional
	InternodeCertificate *metav1.Duration `json:"internodeCertificate"`
}

CertificatesDurationSpec defines parameters for the temporal mTLS certificates duration.

func (*CertificatesDurationSpec) DeepCopy

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

func (*CertificatesDurationSpec) DeepCopyInto

func (in *CertificatesDurationSpec) DeepCopyInto(out *CertificatesDurationSpec)

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

type ClusterArchivalSpec added in v0.15.0

type ClusterArchivalSpec struct {
	// Enabled defines if the archival is enabled for the cluster.
	// +kubebuilder:default:=false
	// +optional
	Enabled bool `json:"enabled"`
	// Provider defines the archival provider for the cluster.
	// The same provider is used for both history and visibility,
	// but some config can be changed using spec.archival.[history|visibility].config.
	// +optional
	Provider *ArchivalProvider `json:"provider,omitempty"`
	// History is the default config for the history archival.
	// +optional
	History *ArchivalSpec `json:"history,omitempty"`
	// Visibility is the default config for visibility archival.
	// +optional
	Visibility *ArchivalSpec `json:"visibility,omitempty"`
}

ClusterArchivalSpec is the configuration for cluster-wide archival config.

func (*ClusterArchivalSpec) DeepCopy added in v0.15.0

func (in *ClusterArchivalSpec) DeepCopy() *ClusterArchivalSpec

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

func (*ClusterArchivalSpec) DeepCopyInto added in v0.15.0

func (in *ClusterArchivalSpec) DeepCopyInto(out *ClusterArchivalSpec)

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

func (*ClusterArchivalSpec) IsEnabled added in v0.15.0

func (s *ClusterArchivalSpec) IsEnabled() bool

type ConstrainedValue added in v0.11.0

type ConstrainedValue struct {
	// Constraints describe under what conditions a ConstrainedValue should be used.
	// +optional
	Constraints Constraints `json:"constraints"`
	// Value is the value for the configuration key.
	// The type of the Value field depends on the key.
	// Acceptable types will be one of: int, float64, bool, string, map[string]any, time.Duration
	Value *apiextensionsv1.JSON `json:"value"`
}

ConstrainedValue is an alias for temporal's dynamicconfig.ConstrainedValue.

func (*ConstrainedValue) DeepCopy added in v0.11.0

func (in *ConstrainedValue) DeepCopy() *ConstrainedValue

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

func (*ConstrainedValue) DeepCopyInto added in v0.11.0

func (in *ConstrainedValue) DeepCopyInto(out *ConstrainedValue)

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

type Constraints added in v0.11.0

type Constraints struct {
	// +optional
	Namespace string `json:"namespace"`
	// +optional
	NamespaceID string `json:"namespaceId"`
	// +optional
	TaskQueueName string `json:"taskQueueName"`
	// +optional
	TaskQueueType string `json:"taskQueueType"`
	// +optional
	ShardID int32 `json:"shardId"`
	// +optional
	TaskType string `json:"taskType"`
}

Constraints is an alias for temporal's dynamicconfig.Constraints. It describes under what conditions a ConstrainedValue should be used.

func (*Constraints) DeepCopy added in v0.11.0

func (in *Constraints) DeepCopy() *Constraints

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

func (*Constraints) DeepCopyInto added in v0.11.0

func (in *Constraints) DeepCopyInto(out *Constraints)

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

type DatastoreSpec

type DatastoreSpec struct {
	// Name is the name of the datastore.
	// It should be unique and will be referenced within the persistence spec.
	// Defaults to "default" for default sore, "visibility" for visibility store,
	// "secondaryVisibility" for secondary visibility store and
	// "advancedVisibility" for advanced visibility store.
	// +optional
	Name string `json:"name"`
	// SQL holds all connection parameters for SQL datastores.
	// +optional
	SQL *SQLSpec `json:"sql,omitempty"`
	// Elasticsearch holds all connection parameters for Elasticsearch datastores.
	// +optional
	Elasticsearch *ElasticsearchSpec `json:"elasticsearch,omitempty"`
	// Cassandra holds all connection parameters for Cassandra datastore.
	// Note that cassandra is now deprecated for visibility store.
	// +optional
	Cassandra *CassandraSpec `json:"cassandra,omitempty"`
	// PasswordSecret is the reference to the secret holding the password.
	// +optional
	PasswordSecretRef *SecretKeyReference `json:"passwordSecretRef,omitempty"`
	// TLS is an optional option to connect to the datastore using TLS.
	// +optional
	TLS *DatastoreTLSSpec `json:"tls,omitempty"`
	// SkipCreate instructs the operator to skip creating the database for SQL datastores or to skip creating keyspace for Cassandra. Use this option if your database or keyspace has already been provisioned by an administrator.
	// +optional
	SkipCreate bool `json:"skipCreate"`
}

DatastoreSpec contains temporal datastore specifications.

func (*DatastoreSpec) DeepCopy

func (in *DatastoreSpec) DeepCopy() *DatastoreSpec

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

func (*DatastoreSpec) DeepCopyInto

func (in *DatastoreSpec) DeepCopyInto(out *DatastoreSpec)

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

func (*DatastoreSpec) Default added in v0.10.0

func (s *DatastoreSpec) Default()

Default set default fields values.

func (*DatastoreSpec) GetPasswordEnvVarName

func (s *DatastoreSpec) GetPasswordEnvVarName() string

GetPasswordEnvVarName crafts the environment variable name for the datastore.

func (*DatastoreSpec) GetTLSCaFileMountPath

func (s *DatastoreSpec) GetTLSCaFileMountPath() string

GetTLSCaFileMountPath returns the CA key mount path. It returns empty if the tls config is nil or if no secret key ref has been specified.

func (*DatastoreSpec) GetTLSCertFileMountPath

func (s *DatastoreSpec) GetTLSCertFileMountPath() string

GetTLSKeyFileMountPath returns the client TLS cert mount path. It returns empty if the tls config is nil or if no secret key ref has been specified.

func (*DatastoreSpec) GetTLSKeyFileMountPath

func (s *DatastoreSpec) GetTLSKeyFileMountPath() string

GetTLSKeyFileMountPath returns the client TLS key mount path. It returns empty if the tls config is nil or if no secret key ref has been specified.

func (*DatastoreSpec) GetType

func (s *DatastoreSpec) GetType() DatastoreType

GetType returns datastore type.

func (*DatastoreSpec) IsSQL added in v0.15.2

func (s *DatastoreSpec) IsSQL() bool

IsSQL returns true if the datastore is an SQL datastore.

func (*DatastoreSpec) LowerCaseName added in v0.19.0

func (s *DatastoreSpec) LowerCaseName() string

LowerCaseName returns the datastore name in lower case.

type DatastoreStatus

type DatastoreStatus struct {
	// Created indicates if the database or keyspace has been created.
	Created bool `json:"created"`
	// Setup indicates if tables have been set up.
	Setup bool `json:"setup"`
	// Type indicates the datastore type.
	// +optional
	Type DatastoreType `json:"type"`
	// SchemaVersion report the current schema version.
	// +optional
	SchemaVersion *version.Version `json:"schemaVersion,omitempty"`
}

DatastoreStatus contains the current status of a datastore.

func (*DatastoreStatus) DeepCopy

func (in *DatastoreStatus) DeepCopy() *DatastoreStatus

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

func (*DatastoreStatus) DeepCopyInto

func (in *DatastoreStatus) DeepCopyInto(out *DatastoreStatus)

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

type DatastoreTLSSpec

type DatastoreTLSSpec struct {
	// Enabled defines if the cluster should use a TLS connection to connect to the datastore.
	Enabled bool `json:"enabled"`
	// CertFileRef is a reference to a secret containing the cert file.
	// +optional
	CertFileRef *SecretKeyReference `json:"certFileRef,omitempty"`
	// KeyFileRef is a reference to a secret containing the key file.
	// +optional
	KeyFileRef *SecretKeyReference `json:"keyFileRef,omitempty"`
	// CaFileRef is a reference to a secret containing the ca file.
	// +optional
	CaFileRef *SecretKeyReference `json:"caFileRef,omitempty"`
	// EnableHostVerification defines if the hostname should be verified when connecting to the datastore.
	EnableHostVerification bool `json:"enableHostVerification"`
	// ServerName the datastore should present.
	// +optional
	ServerName string `json:"serverName"`
}

DatastoreTLSSpec contains datastore TLS connections specifications.

func (*DatastoreTLSSpec) DeepCopy

func (in *DatastoreTLSSpec) DeepCopy() *DatastoreTLSSpec

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

func (*DatastoreTLSSpec) DeepCopyInto

func (in *DatastoreTLSSpec) DeepCopyInto(out *DatastoreTLSSpec)

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

type DatastoreType

type DatastoreType string
const (
	CassandraDatastore     DatastoreType = "cassandra"
	PostgresSQLDatastore   DatastoreType = "postgres"
	PostgresSQL12Datastore DatastoreType = "postgres12"
	MySQLDatastore         DatastoreType = "mysql"
	MySQL8Datastore        DatastoreType = "mysql8"
	ElasticsearchDatastore DatastoreType = "elasticsearch"
	UnknownDatastore       DatastoreType = "unknown"
)

type DeploymentOverride added in v0.9.0

type DeploymentOverride struct {
	*ObjectMetaOverride `json:"metadata,omitempty"`
	// Specification of the desired behavior of the Deployment.
	// +optional
	Spec *DeploymentOverrideSpec `json:"spec,omitempty"`
}

DeploymentOverride provides the ability to override a Deployment.

func (*DeploymentOverride) DeepCopy added in v0.9.0

func (in *DeploymentOverride) DeepCopy() *DeploymentOverride

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

func (*DeploymentOverride) DeepCopyInto added in v0.9.0

func (in *DeploymentOverride) DeepCopyInto(out *DeploymentOverride)

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

type DeploymentOverrideSpec added in v0.9.0

type DeploymentOverrideSpec struct {
	// Template describes the pods that will be created.
	// +optional
	Template *PodTemplateSpecOverride `json:"template,omitempty"`
}

DeploymentOverrideSpec provides the ability to override a Deployment Spec. It's a subset of fields included in k8s.io/api/apps/v1.DeploymentSpec.

func (*DeploymentOverrideSpec) DeepCopy added in v0.9.0

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

func (*DeploymentOverrideSpec) DeepCopyInto added in v0.9.0

func (in *DeploymentOverrideSpec) DeepCopyInto(out *DeploymentOverrideSpec)

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

type DynamicConfigSpec added in v0.11.0

type DynamicConfigSpec struct {
	// PollInterval defines how often the config should be updated by checking provided values.
	// Defaults to 10s.
	// +optional
	PollInterval *metav1.Duration `json:"pollInterval"`
	// Values contains all dynamic config keys and their constrained values.
	Values map[string][]ConstrainedValue `json:"values"`
}

DynamicConfigSpec is the configuration for temporal dynamic config.

func (*DynamicConfigSpec) DeepCopy added in v0.11.0

func (in *DynamicConfigSpec) DeepCopy() *DynamicConfigSpec

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

func (*DynamicConfigSpec) DeepCopyInto added in v0.11.0

func (in *DynamicConfigSpec) DeepCopyInto(out *DynamicConfigSpec)

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

type ElasticsearchIndices

type ElasticsearchIndices struct {
	// Visibility defines visibility's index name.
	// +kubebuilder:default=temporal_visibility_v1
	Visibility string `json:"visibility"`
	// SecondaryVisibility defines secondary visibility's index name.
	// +optional
	SecondaryVisibility string `json:"secondaryVisibility"`
}

ElasticsearchIndices holds index names.

func (*ElasticsearchIndices) DeepCopy

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

func (*ElasticsearchIndices) DeepCopyInto

func (in *ElasticsearchIndices) DeepCopyInto(out *ElasticsearchIndices)

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

type ElasticsearchSpec

type ElasticsearchSpec struct {
	// Version defines the elasticsearch version.
	// +kubebuilder:default=v7
	// +kubebuilder:validation:Pattern=`^v(6|7|8)$`
	Version string `json:"version"`
	// URL is the connection url to connect to the instance.
	// +kubebuilder:validation:Pattern=`^https?:\/\/.+$`
	URL string `json:"url"`
	// Username is the username to be used for the connection.
	Username string `json:"username"`
	// Indices holds visibility index names.
	Indices ElasticsearchIndices `json:"indices"`
	// LogLevel defines the temporal cluster's es client logger level.
	// +optional
	LogLevel string `json:"logLevel"`
	// CloseIdleConnectionsInterval is the max duration a connection stay open while idle.
	// +optional
	CloseIdleConnectionsInterval metav1.Duration `json:"closeIdleConnectionsInterval"`
	// EnableSniff enables or disables sniffer on the temporal cluster's es client.
	// +optional
	EnableSniff bool `json:"enableSniff"`
	// EnableHealthcheck enables or disables healthcheck on the temporal cluster's es client.
	// +optional
	EnableHealthcheck bool `json:"enableHealthcheck"`
}

ElasticsearchSpec contains Elasticsearch datastore connections specifications.

func (*ElasticsearchSpec) DeepCopy

func (in *ElasticsearchSpec) DeepCopy() *ElasticsearchSpec

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

func (*ElasticsearchSpec) DeepCopyInto

func (in *ElasticsearchSpec) DeepCopyInto(out *ElasticsearchSpec)

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

type FilestoreArchiver added in v0.15.0

type FilestoreArchiver struct {
	// FilePermissions sets the file permissions of the archived files.
	// It's recommend to leave it empty and use the default value of "0666" to avoid read/write issues.
	// +kubebuilder:default:="0666"
	FilePermissions string `json:"filePermissions"`
	// DirPermissions sets the directory permissions of the archive directory.
	// It's recommend to leave it empty and use the default value of "0766" to avoid read/write issues.
	// +kubebuilder:default:="0766"
	DirPermissions string `json:"dirPermissions"`
}

FilestoreArchiver is the file store archival provider configuration.

func (*FilestoreArchiver) DeepCopy added in v0.15.0

func (in *FilestoreArchiver) DeepCopy() *FilestoreArchiver

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

func (*FilestoreArchiver) DeepCopyInto added in v0.15.0

func (in *FilestoreArchiver) DeepCopyInto(out *FilestoreArchiver)

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

type FrontendMTLSSpec

type FrontendMTLSSpec struct {
	// Enabled defines if the operator should enable mTLS for cluster's public endpoints.
	// +optional
	Enabled bool `json:"enabled"`
	// ExtraDNSNames is a list of additional DNS names associated with the TemporalCluster.
	// These DNS names can be used for accessing the TemporalCluster from external services.
	// The DNS names specified here will be added to the TLS certificate for secure communication.
	// +nullable
	ExtraDNSNames []string `json:"extraDnsNames,omitempty"`
}

FrontendMTLSSpec defines parameters for the temporal encryption in transit with mTLS.

func (*FrontendMTLSSpec) DeepCopy

func (in *FrontendMTLSSpec) DeepCopy() *FrontendMTLSSpec

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

func (*FrontendMTLSSpec) DeepCopyInto

func (in *FrontendMTLSSpec) DeepCopyInto(out *FrontendMTLSSpec)

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

func (FrontendMTLSSpec) GetCertificateMountPath

func (FrontendMTLSSpec) GetCertificateMountPath() string

GetCertificateMountPath returns the mount path for the frontend certificate.

func (FrontendMTLSSpec) GetIntermediateCACertificateMountPath

func (FrontendMTLSSpec) GetIntermediateCACertificateMountPath() string

GetIntermediateCACertificateMountPath returns the mount path for intermediate CA certificates.

func (FrontendMTLSSpec) GetWorkerCertificateMountPath

func (FrontendMTLSSpec) GetWorkerCertificateMountPath() string

GetWorkerCertificateMountPath returns the mount path for the worker certificate.

func (FrontendMTLSSpec) ServerName

func (FrontendMTLSSpec) ServerName(cluster *TemporalCluster) string

ServerName returns frontend servername for mTLS certificates.

type GCSArchiver added in v0.15.0

type GCSArchiver struct {
	// SecretAccessKeyRef is the secret key selector containing Google Cloud Storage credentials file.
	// +kubebuilder:validation:Required
	CredentialsRef *corev1.SecretKeySelector `json:"credentialsRef"`
}

GCSArchiver is the GCS archival provider configuration.

func (GCSArchiver) CredentialsFileMountPath added in v0.15.0

func (GCSArchiver) CredentialsFileMountPath() string

func (*GCSArchiver) DeepCopy added in v0.15.0

func (in *GCSArchiver) DeepCopy() *GCSArchiver

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

func (*GCSArchiver) DeepCopyInto added in v0.15.0

func (in *GCSArchiver) DeepCopyInto(out *GCSArchiver)

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

type InternalFrontendServiceSpec added in v0.12.0

type InternalFrontendServiceSpec struct {
	ServiceSpec `json:",inline"`
	// Enabled defines if we want to spawn the internal frontend service.
	// +optional
	// +kubebuilder:default:=false
	Enabled bool `json:"enabled,omitempty"`
}

InternalFrontendServiceSpec contains temporal internal frontend service specifications.

func (*InternalFrontendServiceSpec) DeepCopy added in v0.12.0

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

func (*InternalFrontendServiceSpec) DeepCopyInto added in v0.12.0

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

func (*InternalFrontendServiceSpec) IsEnabled added in v0.12.0

func (s *InternalFrontendServiceSpec) IsEnabled() bool

type InternodeMTLSSpec

type InternodeMTLSSpec struct {
	// Enabled defines if the operator should enable mTLS for network between cluster nodes.
	// +optional
	Enabled bool `json:"enabled"`
}

InternodeMTLSSpec defines parameters for the temporal encryption in transit with mTLS.

func (*InternodeMTLSSpec) DeepCopy

func (in *InternodeMTLSSpec) DeepCopy() *InternodeMTLSSpec

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

func (*InternodeMTLSSpec) DeepCopyInto

func (in *InternodeMTLSSpec) DeepCopyInto(out *InternodeMTLSSpec)

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

func (InternodeMTLSSpec) GetCertificateMountPath

func (InternodeMTLSSpec) GetCertificateMountPath() string

GetCertificateMountPath returns the mount path for the internode certificate.

func (InternodeMTLSSpec) GetIntermediateCACertificateMountPath

func (InternodeMTLSSpec) GetIntermediateCACertificateMountPath() string

GetIntermediateCACertificateMountPath returns the mount path for intermediate CA certificates.

func (InternodeMTLSSpec) ServerName

func (InternodeMTLSSpec) ServerName(cluster *TemporalCluster) string

ServerName returns internode servername for mTLS certificates.

type LogSpec added in v0.15.2

type LogSpec struct {
	// Stdout is true if the output needs to goto standard out; default is stderr.
	// +optional
	// +kubebuilder:default=true
	Stdout *bool `json:"stdout"`
	// Level is the desired log level; see colocated zap_logger.go::parseZapLevel()
	// +optional
	// +kubebuilder:validation:Enum=debug;info;warn;error;dpanic;panic;fatal
	// +kubebuilder:default=info
	Level string `json:"level"`
	// OutputFile is the path to the log output file.
	// +optional
	OutputFile string `json:"outputFile"`
	// Format determines the format of each log file printed to the output.
	// Use "console" if you want stack traces to appear on multiple lines.
	// +kubebuilder:validation:Enum=json;console
	// +kubebuilder:default=json
	// +optional
	Format string `json:"format"`
	// Development determines whether the logger is run in Development (== Test) or in
	// Production mode.  Default is Production.  Production-stage disables panics from
	// DPanic logging.
	// +kubebuilder:default=false
	// +optional
	Development bool `json:"development"`
}

LogSpec contains the temporal logging configuration.

func (*LogSpec) DeepCopy added in v0.15.2

func (in *LogSpec) DeepCopy() *LogSpec

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

func (*LogSpec) DeepCopyInto added in v0.15.2

func (in *LogSpec) DeepCopyInto(out *LogSpec)

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

type MTLSProvider

type MTLSProvider string

MTLSProvider is the enum for support mTLS provider.

const (
	// CertManagerMTLSProvider uses cert-manager to manage mTLS certificate.
	CertManagerMTLSProvider MTLSProvider = "cert-manager"
	LinkerdMTLSProvider     MTLSProvider = "linkerd"
	IstioMTLSProvider       MTLSProvider = "istio"
)

type MTLSSpec

type MTLSSpec struct {
	// Provider defines the tool used to manage mTLS certificates.
	// +kubebuilder:default=cert-manager
	// +kubebuilder:validation:Enum=cert-manager;linkerd;istio
	// +optional
	Provider MTLSProvider `json:"provider"`
	// Internode allows configuration of the internode traffic encryption.
	// Useless if mTLS provider is not cert-manager.
	// +optional
	Internode *InternodeMTLSSpec `json:"internode,omitempty"`
	// Frontend allows configuration of the frontend's public endpoint traffic encryption.
	// Useless if mTLS provider is not cert-manager.
	// +optional
	Frontend *FrontendMTLSSpec `json:"frontend,omitempty"`
	// CertificatesDuration allows configuration of maximum certificates lifetime.
	// Useless if mTLS provider is not cert-manager.
	// +optional
	CertificatesDuration *CertificatesDurationSpec `json:"certificatesDuration,omitempty"`
	// RefreshInterval defines interval between refreshes of certificates in the cluster components.
	// Defaults to 1 hour.
	// Useless if mTLS provider is not cert-manager.
	// +optional
	RefreshInterval *metav1.Duration `json:"refreshInterval"`
	// RenewBefore is defines how long before the currently issued certificate's expiry
	// cert-manager should renew the certificate. The default is 2/3 of the
	// issued certificate's duration. Minimum accepted value is 5 minutes.
	// Useless if mTLS provider is not cert-manager.
	// +optional
	RenewBefore *metav1.Duration `json:"renewBefore,omitempty"`
}

MTLSSpec defines parameters for the temporal encryption in transit with mTLS.

func (*MTLSSpec) DeepCopy

func (in *MTLSSpec) DeepCopy() *MTLSSpec

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

func (*MTLSSpec) DeepCopyInto

func (in *MTLSSpec) DeepCopyInto(out *MTLSSpec)

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

func (*MTLSSpec) FrontendEnabled

func (m *MTLSSpec) FrontendEnabled() bool

func (*MTLSSpec) InternodeEnabled

func (m *MTLSSpec) InternodeEnabled() bool

func (*MTLSSpec) Validate added in v0.15.4

func (m *MTLSSpec) Validate() (admission.Warnings, field.ErrorList)

type MetricsSpec

type MetricsSpec struct {
	// Enabled defines if the operator should enable metrics exposition on temporal components.
	Enabled bool `json:"enabled"`
	// ExcludeTags is a map from tag name string to tag values string list.
	// Each value present in keys will have relevant tag value replaced with "_tag_excluded_"
	// Each value in values list will white-list tag values to be reported as usual.
	// +optional
	ExcludeTags map[string][]string `json:"excludeTags,omitempty"`
	// PerUnitHistogramBoundaries defines the default histogram bucket boundaries.
	// Configuration of histogram boundaries for given metric unit.
	//
	// Supported values:
	// - "dimensionless"
	// - "milliseconds"
	// - "bytes"
	// +optional
	PerUnitHistogramBoundaries map[string][]string `json:"perUnitHistogramBoundaries,omitempty"`
	// Prefix sets the prefix to all outgoing metrics
	// +optional
	Prefix *string `json:"prefix,omitempty"`
	// Prometheus reporter configuration.
	// +optional
	Prometheus *PrometheusSpec `json:"prometheus,omitempty"`
}

MetricsSpec determines parameters for configuring metrics endpoints.

func (*MetricsSpec) DeepCopy

func (in *MetricsSpec) DeepCopy() *MetricsSpec

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

func (*MetricsSpec) DeepCopyInto

func (in *MetricsSpec) DeepCopyInto(out *MetricsSpec)

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

func (*MetricsSpec) IsEnabled added in v0.12.0

func (m *MetricsSpec) IsEnabled() bool

type ObjectMetaOverride added in v0.9.0

type ObjectMetaOverride struct {
	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

ObjectMetaOverride provides the ability to override an object metadata. It's a subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta.

func (*ObjectMetaOverride) DeepCopy added in v0.9.0

func (in *ObjectMetaOverride) DeepCopy() *ObjectMetaOverride

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

func (*ObjectMetaOverride) DeepCopyInto added in v0.9.0

func (in *ObjectMetaOverride) DeepCopyInto(out *ObjectMetaOverride)

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

type ObjectReference added in v0.19.0

type ObjectReference struct {
	// The name of the temporal object to reference.
	Name string `json:"name,omitempty"`
	// The namespace of the temporal object to reference.
	// Defaults to the namespace of the requested resource if omitted.
	// +kubebuilder:validation:Optional
	Namespace string `json:"namespace,omitempty"`
}

ObjectReference is a reference to a object.

func (*ObjectReference) DeepCopy added in v0.19.0

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto added in v0.19.0

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

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

func (*ObjectReference) NamespacedName added in v0.19.0

func (r *ObjectReference) NamespacedName(obj client.Object) types.NamespacedName

NamespacedName returns NamespacedName for the referenced temporal object. If the namespace is not set, it uses the provided object's namespace.

type PodTemplateSpecOverride added in v0.9.0

type PodTemplateSpecOverride struct {
	*ObjectMetaOverride `json:"metadata,omitempty"`

	// Specification of the desired behavior of the pod.
	// +optional
	Spec *apiextensionsv1.JSON `json:"spec,omitempty"`
}

PodTemplateSpecOverride provides the ability to override a pod template spec. It's a subset of the fields included in k8s.io/api/core/v1.PodTemplateSpec.

func (*PodTemplateSpecOverride) DeepCopy added in v0.9.0

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

func (*PodTemplateSpecOverride) DeepCopyInto added in v0.9.0

func (in *PodTemplateSpecOverride) DeepCopyInto(out *PodTemplateSpecOverride)

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

type PrometheusScrapeConfig added in v0.9.0

type PrometheusScrapeConfig struct {
	// Annotations defines if the operator should add prometheus scrape annotations to the services pods.
	// +optional
	Annotations bool `json:"annotations"`
	// +optional
	ServiceMonitor *PrometheusScrapeConfigServiceMonitor `json:"serviceMonitor,omitempty"`
}

PrometheusScrapeConfig is the configuration for making prometheus scrape components metrics.

func (*PrometheusScrapeConfig) DeepCopy added in v0.9.0

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

func (*PrometheusScrapeConfig) DeepCopyInto added in v0.9.0

func (in *PrometheusScrapeConfig) DeepCopyInto(out *PrometheusScrapeConfig)

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

type PrometheusScrapeConfigServiceMonitor added in v0.9.0

type PrometheusScrapeConfigServiceMonitor struct {
	// Enabled defines if the operator should create a ServiceMonitor for each services.
	// +optional
	Enabled bool `json:"enabled"`
	// Labels adds extra labels to the ServiceMonitor.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// Override allows customization of the created ServiceMonitor.
	// All fields can be overwritten except "endpoints", "selector" and "namespaceSelector".
	// +optional
	Override *monitoringv1.ServiceMonitorSpec `json:"override,omitempty"`
	// MetricRelabelConfigs to apply to samples before ingestion.
	// +optional
	MetricRelabelConfigs []monitoringv1.RelabelConfig `json:"metricRelabelings,omitempty"`
}

PrometheusScrapeConfigServiceMonitor is the configuration for prometheus operator ServiceMonitor.

func (*PrometheusScrapeConfigServiceMonitor) DeepCopy added in v0.10.0

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

func (*PrometheusScrapeConfigServiceMonitor) DeepCopyInto added in v0.10.0

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

type PrometheusSpec

type PrometheusSpec struct {
	// Deprecated. Address for prometheus to serve metrics from.
	// +optional
	// +deprecated
	ListenAddress string `json:"listenAddress"`
	// ListenPort for prometheus to serve metrics from.
	// +optional
	ListenPort *int32 `json:"listenPort,omitempty"`
	// ScrapeConfig is the prometheus scrape configuration.
	// +optional
	ScrapeConfig *PrometheusScrapeConfig `json:"scrapeConfig,omitempty"`
}

PrometheusSpec is the configuration for prometheus reporter.

func (*PrometheusSpec) DeepCopy

func (in *PrometheusSpec) DeepCopy() *PrometheusSpec

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

func (*PrometheusSpec) DeepCopyInto

func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec)

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

type RetryPolicy added in v0.19.0

type RetryPolicy struct {
	// Interval of the first retry. If retryBackoffCoefficient is 1.0 then it is used for all retries.
	//
	// +optional
	InitialInterval *metav1.Duration `json:"initialInterval,omitempty"`

	// Coefficient used to calculate the next retry interval.
	// The next retry interval is previous interval multiplied by the coefficient.
	// Must be 1 or larger.
	//
	// +optional
	BackoffCoefficient *resource.Quantity `json:"backoffCoefficient,omitempty"`

	// Maximum interval between retries. Exponential backoff leads to interval increase.
	// This value is the cap of the increase. Default is 100x of the initial interval.
	//
	// +optional
	MaximumInterval *metav1.Duration `json:"maximumInterval,omitempty"`

	// Maximum number of attempts. When exceeded the retries stop even if not expired yet.
	// 1 disables retries. 0 means unlimited (up to the timeouts).
	//
	// +optional
	MaximumAttempts int32 `json:"maximumAttempts,omitempty"`

	// Non-Retryable errors types. Will stop retrying if the error type matches this list. Note that
	// this is not a substring match, the error *type* (not message) must match exactly.
	//
	// +optional
	NonRetryableErrorTypes []string `json:"nonRetryableErrorTypes,omitempty"`
}

RetryPolicy defines how retries ought to be handled, usable by both workflows and activities.

func (*RetryPolicy) DeepCopy added in v0.19.0

func (in *RetryPolicy) DeepCopy() *RetryPolicy

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

func (*RetryPolicy) DeepCopyInto added in v0.19.0

func (in *RetryPolicy) DeepCopyInto(out *RetryPolicy)

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

type S3Archiver added in v0.15.0

type S3Archiver struct {
	// Region is the aws s3 region.
	// +kubebuilder:validation:Required
	Region string `json:"region"`
	// Use Endpoint if you want to use s3-compatible object storage.
	// +optional
	Endpoint *string `json:"endpoint,omitempty"`
	// Use RoleName if you want the temporal service account
	// to assume an AWS Identity and Access Management (IAM) role.
	// +optional
	RoleName *string `json:"roleName,omitempty"`
	// Use credentials if you want to use aws credentials from secret.
	// +optional
	Credentials *S3Credentials `json:"credentials,omitempty"`
	// Use s3ForcePathStyle if you want to use s3 path style.
	// +optional
	S3ForcePathStyle bool `json:"s3ForcePathStyle"`
}

S3Archiver is the S3 archival provider configuration.

func (*S3Archiver) DeepCopy added in v0.15.0

func (in *S3Archiver) DeepCopy() *S3Archiver

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

func (*S3Archiver) DeepCopyInto added in v0.15.0

func (in *S3Archiver) DeepCopyInto(out *S3Archiver)

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

type S3Credentials added in v0.15.0

type S3Credentials struct {
	// AccessKeyIDRef is the secret key selector containing AWS access key ID.
	// +kubebuilder:validation:Required
	AccessKeyIDRef *corev1.SecretKeySelector `json:"accessKeyIdRef"`
	// SecretAccessKeyRef is the secret key selector containing AWS secret access key.
	// +kubebuilder:validation:Required
	SecretAccessKeyRef *corev1.SecretKeySelector `json:"secretKeyRef"`
}

func (*S3Credentials) DeepCopy added in v0.15.0

func (in *S3Credentials) DeepCopy() *S3Credentials

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

func (*S3Credentials) DeepCopyInto added in v0.15.0

func (in *S3Credentials) DeepCopyInto(out *S3Credentials)

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

type SQLSpec

type SQLSpec struct {
	// User is the username to be used for the connection.
	User string `json:"user"`
	// PluginName is the name of SQL plugin.
	// +kubebuilder:validation:Enum=postgres;postgres12;mysql;mysql8
	PluginName string `json:"pluginName"`
	// DatabaseName is the name of SQL database to connect to.
	DatabaseName string `json:"databaseName"`
	// ConnectAddr is the remote addr of the database.
	ConnectAddr string `json:"connectAddr"`
	// ConnectProtocol is the protocol that goes with the ConnectAddr.
	// +optional
	ConnectProtocol string `json:"connectProtocol"`
	// ConnectAttributes is a set of key-value attributes to be sent as part of connect data_source_name url
	// +optional
	ConnectAttributes map[string]string `json:"connectAttributes,omitempty"`
	// MaxConns the max number of connections to this datastore.
	// +optional
	MaxConns int `json:"maxConns"`
	// MaxIdleConns is the max number of idle connections to this datastore.
	// +optional
	MaxIdleConns int `json:"maxIdleConns"`
	// MaxConnLifetime is the maximum time a connection can be alive
	// +optional
	MaxConnLifetime metav1.Duration `json:"maxConnLifetime"`
	// TaskScanPartitions is the number of partitions to sequentially scan during ListTaskQueue operations.
	// +optional
	TaskScanPartitions int `json:"taskScanPartitions"`
	// GCPServiceAccount is the service account to use to authenticate with GCP CloudSQL.
	// +optional
	GCPServiceAccount *string `json:"gcpServiceAccount,omitempty"`
}

SQLSpec contains SQL datastore connections specifications.

func (*SQLSpec) DeepCopy

func (in *SQLSpec) DeepCopy() *SQLSpec

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

func (*SQLSpec) DeepCopyInto

func (in *SQLSpec) DeepCopyInto(out *SQLSpec)

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

type Schedule added in v0.19.0

type Schedule struct {
	Action ScheduleAction    `json:"action,omitempty"`
	Spec   ScheduleSpec      `json:"spec,omitempty"`
	Policy *SchedulePolicies `json:"policy,omitempty"`
	State  *ScheduleState    `json:"state,omitempty"`
}

Schedule contains all fields related to a schedule.

func (*Schedule) DeepCopy added in v0.19.0

func (in *Schedule) DeepCopy() *Schedule

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

func (*Schedule) DeepCopyInto added in v0.19.0

func (in *Schedule) DeepCopyInto(out *Schedule)

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

type ScheduleAction added in v0.19.0

type ScheduleAction struct {
	// +kubebuilder:validation:Required
	Workflow ScheduleWorkflowAction `json:"workflow"`
}

ScheduleAction contains the actions that the schedule should perform.

func (*ScheduleAction) DeepCopy added in v0.19.0

func (in *ScheduleAction) DeepCopy() *ScheduleAction

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

func (*ScheduleAction) DeepCopyInto added in v0.19.0

func (in *ScheduleAction) DeepCopyInto(out *ScheduleAction)

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

type ScheduleCalendarSpec added in v0.19.0

type ScheduleCalendarSpec struct {
	// Second range to match (0-59).
	// Defaults to 0.
	//
	// +optional
	// +kubebuilder:default={{"start": 0}}
	Second []ScheduleSecondMinuteRange `json:"second,omitempty"`

	// Minute range to match (0-59).
	// Defaults to 0.
	//
	// +optional
	// +kubebuilder:default={{"start": 0}}
	Minute []ScheduleSecondMinuteRange `json:"minute,omitempty"`

	// Hour range to match (0-23).
	// Defaults to 0.
	//
	// +optional
	// +kubebuilder:default={{"start": 0}}
	Hour []ScheduleHourRange `json:"hour,omitempty"`

	// DayOfMonth range to match (1-31)
	// Defaults to match all days.
	//
	// +optional
	// +kubebuilder:default={{"end": 31}}
	DayOfMonth []ScheduleDayOfMonthRange `json:"dayOfMonth,omitempty"`

	// Month range to match (1-12).
	// Defaults to match all months.
	//
	// +optional
	// +kubebuilder:default={{"end": 12}}
	Month []ScheduleMonthRange `json:"month,omitempty"`

	// Year range to match.
	// Defaults to match all years.
	//
	// +optional
	Year []ScheduleYearRange `json:"year,omitempty"`

	// DayOfWeek range to match (0-6; 0 is Sunday)
	// Defaults to match all days of the week.
	//
	// +optional
	// +kubebuilder:default={{"end": 6}}
	DayOfWeek []ScheduleDayOfWeekRange `json:"dayOfWeek,omitempty"`

	// Comment describes the intention of this schedule.
	//
	// +optional
	Comment string `json:"comment,omitempty"`
}

ScheduleCalendarSpec is an event specification relative to the calendar, similar to a traditional cron specification. A timestamp matches if at least one range of each field matches the corresponding fields of the timestamp, except for year: if year is missing, that means all years match. For all fields besides year, at least one Range must be present to match anything.

func (*ScheduleCalendarSpec) DeepCopy added in v0.19.0

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

func (*ScheduleCalendarSpec) DeepCopyInto added in v0.19.0

func (in *ScheduleCalendarSpec) DeepCopyInto(out *ScheduleCalendarSpec)

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

type ScheduleDayOfMonthRange added in v0.19.0

type ScheduleDayOfMonthRange struct {
	// Start of the range (inclusive).
	// Defaults to 1.
	//
	// +optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=31
	Start int32 `json:"start,omitempty"`

	// End of the range (inclusive).
	// Defaults to start.
	//
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=31
	End int32 `json:"end,omitempty"`

	// Step to be take between each value.
	// Defaults to 1.
	//
	// +optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=31
	Step int32 `json:"step,omitempty"`
}

If end < start, then end is interpreted as equal to start. This means you can use a Range with start set to a value, and end and step unset to represent a single value.

func (*ScheduleDayOfMonthRange) DeepCopy added in v0.19.0

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

func (*ScheduleDayOfMonthRange) DeepCopyInto added in v0.19.0

func (in *ScheduleDayOfMonthRange) DeepCopyInto(out *ScheduleDayOfMonthRange)

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

func (ScheduleDayOfMonthRange) GetEnd added in v0.19.0

func (r ScheduleDayOfMonthRange) GetEnd() int32

func (ScheduleDayOfMonthRange) GetStart added in v0.19.0

func (r ScheduleDayOfMonthRange) GetStart() int32

func (ScheduleDayOfMonthRange) GetStep added in v0.19.0

func (r ScheduleDayOfMonthRange) GetStep() int32

type ScheduleDayOfWeekRange added in v0.19.0

type ScheduleDayOfWeekRange struct {
	// Start of the range (inclusive).
	// Defaults to 0.
	//
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=6
	Start int32 `json:"start,omitempty"`

	// End of the range (inclusive).
	// Defaults to start.
	//
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=6
	End int32 `json:"end,omitempty"`

	// Step to be take between each value.
	// Defaults to 1.
	//
	// +optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=6
	Step int32 `json:"step,omitempty"`
}

If end < start, then end is interpreted as equal to start. This means you can use a Range with start set to a value, and end and step unset to represent a single value.

func (*ScheduleDayOfWeekRange) DeepCopy added in v0.19.0

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

func (*ScheduleDayOfWeekRange) DeepCopyInto added in v0.19.0

func (in *ScheduleDayOfWeekRange) DeepCopyInto(out *ScheduleDayOfWeekRange)

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

func (ScheduleDayOfWeekRange) GetEnd added in v0.19.0

func (r ScheduleDayOfWeekRange) GetEnd() int32

func (ScheduleDayOfWeekRange) GetStart added in v0.19.0

func (r ScheduleDayOfWeekRange) GetStart() int32

func (ScheduleDayOfWeekRange) GetStep added in v0.19.0

func (r ScheduleDayOfWeekRange) GetStep() int32

type ScheduleHourRange added in v0.19.0

type ScheduleHourRange struct {
	// Start of the range (inclusive).
	// Defaults to 0.
	//
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=23
	Start int32 `json:"start,omitempty"`

	// End of the range (inclusive).
	// Defaults to start.
	//
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=23
	End int32 `json:"end,omitempty"`

	// Step to be take between each value.
	// Defaults to 1.
	//
	// +optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=23
	Step int32 `json:"step,omitempty"`
}

If end < start, then end is interpreted as equal to start. This means you can use a Range with start set to a value, and end and step unset to represent a single value.

func (*ScheduleHourRange) DeepCopy added in v0.19.0

func (in *ScheduleHourRange) DeepCopy() *ScheduleHourRange

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

func (*ScheduleHourRange) DeepCopyInto added in v0.19.0

func (in *ScheduleHourRange) DeepCopyInto(out *ScheduleHourRange)

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

func (ScheduleHourRange) GetEnd added in v0.19.0

func (r ScheduleHourRange) GetEnd() int32

func (ScheduleHourRange) GetStart added in v0.19.0

func (r ScheduleHourRange) GetStart() int32

func (ScheduleHourRange) GetStep added in v0.19.0

func (r ScheduleHourRange) GetStep() int32

type ScheduleIntervalSpec added in v0.19.0

type ScheduleIntervalSpec struct {
	// Every describes the period to repeat the interval.
	//
	// +kubebuilder:validation:Required
	Every metav1.Duration `json:"every"`

	// Offset is a fixed offset added to the intervals period.
	// Defaults to 0.
	//
	// +optional
	Offset *metav1.Duration `json:"offset,omitempty"`
}

ScheduleIntervalSpec matches times that can be expressed as:

Epoch + (n * every) + offset

where n is all integers ≥ 0.

For example, an `every` of 1 hour with `offset` of zero would match every hour, on the hour. The same `every` but an `offset` of 19 minutes would match every `xx:19:00`. An `every` of 28 days with `offset` zero would match `2022-02-17T00:00:00Z` (among other times). The same `every` with `offset` of 3 days, 5 hours, and 23 minutes would match `2022-02-20T05:23:00Z` instead.

func (*ScheduleIntervalSpec) DeepCopy added in v0.19.0

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

func (*ScheduleIntervalSpec) DeepCopyInto added in v0.19.0

func (in *ScheduleIntervalSpec) DeepCopyInto(out *ScheduleIntervalSpec)

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

type ScheduleMonthRange added in v0.19.0

type ScheduleMonthRange struct {
	// Start of the range (inclusive).
	// Defaults to 1.
	//
	// +optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=12
	Start int32 `json:"start,omitempty"`

	// End of the range (inclusive).
	// Defaults to start.
	//
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=12
	End int32 `json:"end,omitempty"`

	// Step to be take between each value.
	// Defaults to 1.
	//
	// +optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=12
	Step int32 `json:"step,omitempty"`
}

If end < start, then end is interpreted as equal to start. This means you can use a Range with start set to a value, and end and step unset to represent a single value.

func (*ScheduleMonthRange) DeepCopy added in v0.19.0

func (in *ScheduleMonthRange) DeepCopy() *ScheduleMonthRange

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

func (*ScheduleMonthRange) DeepCopyInto added in v0.19.0

func (in *ScheduleMonthRange) DeepCopyInto(out *ScheduleMonthRange)

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

func (ScheduleMonthRange) GetEnd added in v0.19.0

func (r ScheduleMonthRange) GetEnd() int32

func (ScheduleMonthRange) GetStart added in v0.19.0

func (r ScheduleMonthRange) GetStart() int32

func (ScheduleMonthRange) GetStep added in v0.19.0

func (r ScheduleMonthRange) GetStep() int32

type ScheduleOverlapPolicy added in v0.19.0

type ScheduleOverlapPolicy string

Overlap controls what happens when an Action would be started by a Schedule at the same time that an older Action is still running.

Supported values:

"skip" - Default. Nothing happens; the Workflow Execution is not started.

"bufferOne" - Starts the Workflow Execution as soon as the current one completes. The buffer is limited to one. If another Workflow Execution is supposed to start, but one is already in the buffer, only the one in the buffer eventually starts.

"bufferAll" - Allows an unlimited number of Workflows to buffer. They are started sequentially.

"cancelOther" - Cancels the running Workflow Execution, and then starts the new one after the old one completes cancellation.

"terminateOther" - Terminates the running Workflow Execution and starts the new one immediately.

"allowAll" - Starts any number of concurrent Workflow Executions. With this policy (and only this policy), more than one Workflow Execution, started by the Schedule, can run simultaneously.

+kubebuilder:validation:Enum=skip;bufferOne;bufferAll;cancelOther;terminateOther;allowAll

type SchedulePolicies added in v0.19.0

type SchedulePolicies struct {
	// +optional
	Overlap ScheduleOverlapPolicy `json:"overlap,omitempty"`

	// CatchupWindow The Temporal Server might be down or unavailable at the time
	// when a Schedule should take an Action. When the Server comes back up,
	// CatchupWindow controls which missed Actions should be taken at that point.
	//
	// +optional
	CatchupWindow *metav1.Duration `json:"catchupWindow,omitempty"`

	// PauseOnFailure if true, and a workflow run fails or times out, turn on "paused".
	// This applies after retry policies: the full chain of retries must fail to trigger a pause here.
	//
	// +optional
	PauseOnFailure bool `json:"pauseOnFailure,omitempty"`
}

SchedulePolicies represent policies for overlaps, catchups, pause on failure, and workflow ID.

func (*SchedulePolicies) DeepCopy added in v0.19.0

func (in *SchedulePolicies) DeepCopy() *SchedulePolicies

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

func (*SchedulePolicies) DeepCopyInto added in v0.19.0

func (in *SchedulePolicies) DeepCopyInto(out *SchedulePolicies)

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

type ScheduleSecondMinuteRange added in v0.19.0

type ScheduleSecondMinuteRange struct {
	// Start of the range (inclusive).
	// Defaults to 0.
	//
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=59
	Start int32 `json:"start,omitempty"`

	// End of the range (inclusive).
	// Defaults to start.
	//
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=59
	End int32 `json:"end,omitempty"`

	// Step to be take between each value.
	// Defaults to 1.
	//
	// +optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=59
	Step int32 `json:"step,omitempty"`
}

If end < start, then end is interpreted as equal to start. This means you can use a Range with start set to a value, and end and step unset to represent a single value.

func (*ScheduleSecondMinuteRange) DeepCopy added in v0.19.0

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

func (*ScheduleSecondMinuteRange) DeepCopyInto added in v0.19.0

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

func (ScheduleSecondMinuteRange) GetEnd added in v0.19.0

func (r ScheduleSecondMinuteRange) GetEnd() int32

func (ScheduleSecondMinuteRange) GetStart added in v0.19.0

func (r ScheduleSecondMinuteRange) GetStart() int32

func (ScheduleSecondMinuteRange) GetStep added in v0.19.0

func (r ScheduleSecondMinuteRange) GetStep() int32

type ScheduleSpec added in v0.19.0

type ScheduleSpec struct {
	// Calendars represents calendar-based specifications of times.
	//
	// +optional
	Calendars []ScheduleCalendarSpec `json:"calendars,omitempty"`

	// Intervals represents interval-based specifications of times.
	//
	// +optional
	Intervals []ScheduleIntervalSpec `json:"intervals,omitempty"`

	// Crons are cron based specifications of times.
	// Crons is provided for easy migration from legacy Cron Workflows. For new
	// use cases, we recommend using ScheduleSpec.Calendars or ScheduleSpec.
	// Intervals for readability and maintainability. Once a schedule is created all
	// expressions in Crons will be translated to ScheduleSpec.Calendars on the server.
	//
	// For example, `0 12 * * MON-WED,FRI` is every M/Tu/W/F at noon
	//
	// The string can have 5, 6, or 7 fields, separated by spaces, and they are interpreted in the
	// same way as a ScheduleCalendarSpec:
	//
	//	- 5 fields:         Minute, Hour, DayOfMonth, Month, DayOfWeek
	//
	//	- 6 fields:         Minute, Hour, DayOfMonth, Month, DayOfWeek, Year
	//
	//	- 7 fields: Second, Minute, Hour, DayOfMonth, Month, DayOfWeek, Year
	//
	// Notes:
	//	- If Year is not given, it defaults to *.
	//	- If Second is not given, it defaults to 0.
	//	- Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also
	//		accepted instead of the 5-7 time fields.
	//	- @every <interval>[/<phase>] is accepted and gets compiled into an
	//		IntervalSpec instead. <interval> and <phase> should be a decimal integer
	//		with a unit suffix s, m, h, or d.
	//	- Optionally, the string can be preceded by CRON_TZ=<time zone name> or
	//		TZ=<time zone name>, which will get copied to ScheduleSpec.TimeZoneName. (In which case the ScheduleSpec.TimeZone field should be left empty.)
	//	- Optionally, "#" followed by a comment can appear at the end of the string.
	//	- Note that the special case that some cron implementations have for
	//		treating DayOfMonth and DayOfWeek as "or" instead of "and" when both
	//		are set is not implemented.
	//
	// +optional
	Crons []string `json:"crons,omitempty"`

	// ExcludeCalendars defines any matching times that will be skipped.
	//
	// All fields of the ScheduleCalendarSpec including seconds must match a time for the time to be skipped.
	//
	// +optional
	ExcludeCalendars []ScheduleCalendarSpec `json:"excludeCalendars,omitempty"`

	// StartAt represents the start of the schedule. Any times before `startAt` will be skipped.
	// Together, `startAt` and `endAt` make an inclusive interval.
	// Defaults to the beginning of time.
	// For example: 2024-05-13T00:00:00Z
	//
	// +optional
	StartAt *metav1.Time `json:"startAt,omitempty"`

	// EndAt represents the end of the schedule. Any times after `endAt` will be skipped.
	// Defaults to the end of time.
	// For example: 2024-05-13T00:00:00Z
	//
	// +optional
	EndAt *metav1.Time `json:"endAt,omitempty"`

	// Jitter represents a duration that is used to apply a jitter to scheduled times.
	// All times will be incremented by a random value from 0 to this amount of jitter, capped
	// by the time until the next schedule.
	// Defaults to 0.
	//
	// +optional
	Jitter *metav1.Duration `json:"jitter,omitempty"`

	// TimeZoneName represents the IANA time zone name, for example `US/Pacific`.
	//
	// The definition will be loaded by Temporal Server from the environment it runs in.
	//
	// Calendar spec matching is based on literal matching of the clock time
	// with no special handling of DST: if you write a calendar spec that fires
	// at 2:30am and specify a time zone that follows DST, that action will not
	// be triggered on the day that has no 2:30am. Similarly, an action that
	// fires at 1:30am will be triggered twice on the day that has two 1:30s.
	//
	// Note: No actions are taken on leap-seconds (e.g. 23:59:60 UTC).
	// Defaults to UTC.
	//
	// +optional
	TimeZoneName string `json:"timezoneName,omitempty"`
}

ScheduleSpec is a complete description of a set of absolute timestamps.

func (*ScheduleSpec) DeepCopy added in v0.19.0

func (in *ScheduleSpec) DeepCopy() *ScheduleSpec

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

func (*ScheduleSpec) DeepCopyInto added in v0.19.0

func (in *ScheduleSpec) DeepCopyInto(out *ScheduleSpec)

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

type ScheduleState added in v0.19.0

type ScheduleState struct {
	// Note is an informative human-readable message with contextual notes, e.g. the reason
	// a Schedule is paused. The system may overwrite this message on certain
	// conditions, e.g. when pause-on-failure happens.
	//
	// +optional
	Note string `json:"notes,omitempty"`

	// Paused is true if the schedule is paused.
	//
	// +optional
	Paused bool `json:"paused,omitempty"`

	// LimitedActions limits actions. While true RemainingActions will be decremented for each action taken.
	// Skipped actions (due to overlap policy) do not count against remaining actions.
	//
	// +optional
	LimitedActions bool `json:"limitedActions,omitempty"`

	// RemainingActions represents the Actions remaining in this Schedule.
	// Once this number hits 0, no further Actions are taken.
	// manual actions through backfill or ScheduleHandle.Trigger still run.
	//
	// +optional
	RemainingActions int64 `json:"remainingActions,omitempty"`
}

ScheduleState describes the current state of a schedule.

func (*ScheduleState) DeepCopy added in v0.19.0

func (in *ScheduleState) DeepCopy() *ScheduleState

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

func (*ScheduleState) DeepCopyInto added in v0.19.0

func (in *ScheduleState) DeepCopyInto(out *ScheduleState)

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

type ScheduleWorkflowAction added in v0.19.0

type ScheduleWorkflowAction struct {
	// WorkflowID represents the business identifier of the workflow execution.
	// The WorkflowID of the started workflow may not match this exactly,
	// it may have a timestamp appended for uniqueness.
	// Defaults to a uuid.
	//
	// +optional
	WorkflowID string `json:"id,omitempty"`

	// WorkflowType represents the identifier used by a workflow author to define the workflow
	// Workflow type name.
	//
	// +kubebuilder:validation:Required
	WorkflowType string `json:"type"`

	// TaskQueue represents a workflow task queue.
	// This is also the name of the activity task queue on which activities are scheduled.
	//
	// +kubebuilder:validation:Required
	TaskQueue string `json:"taskQueue"`

	// Inputs contains arguments to pass to the workflow.
	//
	// +optional
	Inputs *apiextensionsv1.JSON `json:"inputs,omitempty"`

	// WorkflowExecutionTimeout is the timeout for duration of workflow execution.
	//
	// +optional
	WorkflowExecutionTimeout *metav1.Duration `json:"executionTimeout,omitempty"`

	// WorkflowRunTimeout is the timeout for duration of a single workflow run.
	WorkflowRunTimeout *metav1.Duration `json:"runTimeout,omitempty"`

	// WorkflowTaskTimeout is The timeout for processing workflow task from the time the worker
	// pulled this task.
	//
	// +optional
	WorkflowTaskTimeout *metav1.Duration `json:"taskTimeout,omitempty"`

	// RetryPolicy is the retry policy for the workflow. If a retry policy is specified,
	// in case of workflow failure server will start new workflow execution if
	// needed based on the retry policy.
	//
	// +optional
	RetryPolicy *RetryPolicy `json:"retryPolicy,omitempty"`

	// Memo is optional non-indexed info that will be shown in list workflow.
	//
	// +optional
	// +kubebuilder:validation:Type=object
	Memo *apiextensionsv1.JSON `json:"memo,omitempty"`

	// SearchAttributes is optional indexed info that can be used in query of List/Scan/Count workflow APIs. The key
	// and value type must be registered on Temporal server side. For supported operations on different server versions
	// see [Visibility].
	//
	// [Visibility]: https://docs.temporal.io/visibility
	//
	// +optional
	// +kubebuilder:validation:Type=object
	SearchAttributes *apiextensionsv1.JSON `json:"searchAttributes,omitempty"`
}

ScheduleWorkflowAction describes a workflow to launch.

func (*ScheduleWorkflowAction) DeepCopy added in v0.19.0

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

func (*ScheduleWorkflowAction) DeepCopyInto added in v0.19.0

func (in *ScheduleWorkflowAction) DeepCopyInto(out *ScheduleWorkflowAction)

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

func (*ScheduleWorkflowAction) GetWorkflowID added in v0.19.0

func (action *ScheduleWorkflowAction) GetWorkflowID() string

type ScheduleYearRange added in v0.19.0

type ScheduleYearRange struct {
	// Start of the range (inclusive).
	//
	// +optional
	// +kubebuilder:validation:Minimum=1970
	Start int32 `json:"start,omitempty"`

	// End of the range (inclusive).
	// Defaults to start.
	//
	// +optional
	// +kubebuilder:validation:Minimum=1970
	End int32 `json:"end,omitempty"`

	// Step to be take between each value.
	// Defaults to 1.
	//
	// +optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	Step int32 `json:"step,omitempty"`
}

If end < start, then end is interpreted as equal to start. This means you can use a Range with start set to a value, and end and step unset to represent a single value.

func (*ScheduleYearRange) DeepCopy added in v0.19.0

func (in *ScheduleYearRange) DeepCopy() *ScheduleYearRange

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

func (*ScheduleYearRange) DeepCopyInto added in v0.19.0

func (in *ScheduleYearRange) DeepCopyInto(out *ScheduleYearRange)

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

func (ScheduleYearRange) GetEnd added in v0.19.0

func (r ScheduleYearRange) GetEnd() int32

func (ScheduleYearRange) GetStart added in v0.19.0

func (r ScheduleYearRange) GetStart() int32

func (ScheduleYearRange) GetStep added in v0.19.0

func (r ScheduleYearRange) GetStep() int32

type SecretKeyReference

type SecretKeyReference struct {
	// Name of the Secret.
	// +required
	Name string `json:"name"`
	// Key in the Secret.
	// +optional
	Key string `json:"key,omitempty"`
}

SecretKeyReference contains enough information to locate the referenced Kubernetes Secret object in the same namespace.

func (*SecretKeyReference) DeepCopy

func (in *SecretKeyReference) DeepCopy() *SecretKeyReference

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

func (*SecretKeyReference) DeepCopyInto

func (in *SecretKeyReference) DeepCopyInto(out *SecretKeyReference)

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

type ServiceSpec

type ServiceSpec struct {
	// Port defines a custom gRPC port for the service.
	// Default values are:
	// 7233 for Frontend service
	// 7234 for History service
	// 7235 for Matching service
	// 7239 for Worker service
	// +optional
	Port *int32 `json:"port"`
	// MembershipPort defines a custom membership port for the service.
	// Default values are:
	// 6933 for Frontend service
	// 6934 for History service
	// 6935 for Matching service
	// 6939 for Worker service
	// +optional
	MembershipPort *int32 `json:"membershipPort"`
	// HTTPPort defines a custom http port for the service.
	// Default values are:
	// 7243 for Frontend service
	// +optional
	HTTPPort *int32 `json:"httpPort"`
	// Number of desired replicas for the service. Default to 1.
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas"`
	// Compute Resources required by this service.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// Overrides adds some overrides to the resources deployed for the service.
	// Those overrides takes precedence over spec.services.overrides.
	// +optional
	Overrides *ServiceSpecOverride `json:"overrides,omitempty"`
	// InitContainers adds a list of init containers to the service's deployment.
	// +optional
	InitContainers []corev1.Container `json:"initContainers,omitempty"`
}

ServiceSpec contains a temporal service specifications.

func (*ServiceSpec) DeepCopy

func (in *ServiceSpec) DeepCopy() *ServiceSpec

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

func (*ServiceSpec) DeepCopyInto

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

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

type ServiceSpecOverride added in v0.9.0

type ServiceSpecOverride struct {
	// Override configuration for the temporal service Deployment.
	Deployment *DeploymentOverride `json:"deployment,omitempty"`
}

ServiceSpecOverride provides the ability to override the generated manifests of a temporal service.

func (*ServiceSpecOverride) DeepCopy added in v0.9.0

func (in *ServiceSpecOverride) DeepCopy() *ServiceSpecOverride

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

func (*ServiceSpecOverride) DeepCopyInto added in v0.9.0

func (in *ServiceSpecOverride) DeepCopyInto(out *ServiceSpecOverride)

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

type ServiceStatus

type ServiceStatus struct {
	// Name of the temporal service.
	Name string `json:"name"`
	// Current observed version of the service.
	Version string `json:"version"`
	// Ready defines if the service is ready.
	Ready bool `json:"ready"`
}

ServiceStatus reports a service status.

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

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

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

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

type ServicesSpec

type ServicesSpec struct {
	// Frontend service custom specifications.
	// +optional
	Frontend *ServiceSpec `json:"frontend,omitempty"`
	// Internal Frontend service custom specifications.
	// Only compatible with temporal >= 1.20.0
	// +optional
	InternalFrontend *InternalFrontendServiceSpec `json:"internalFrontend,omitempty"`
	// History service custom specifications.
	// +optional
	History *ServiceSpec `json:"history,omitempty"`
	// Matching service custom specifications.
	// +optional
	Matching *ServiceSpec `json:"matching,omitempty"`
	// Worker service custom specifications.
	// +optional
	Worker *ServiceSpec `json:"worker,omitempty"`
	// Overrides adds some overrides to the resources deployed for all temporal services services.
	// Those overrides can be customized per service using spec.services.<serviceName>.overrides.
	// +optional
	Overrides *ServiceSpecOverride `json:"overrides,omitempty"`
}

ServicesSpec contains all temporal services specifications.

func (*ServicesSpec) DeepCopy

func (in *ServicesSpec) DeepCopy() *ServicesSpec

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

func (*ServicesSpec) DeepCopyInto

func (in *ServicesSpec) DeepCopyInto(out *ServicesSpec)

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

func (*ServicesSpec) GetServiceSpec

func (s *ServicesSpec) GetServiceSpec(name primitives.ServiceName) (*ServiceSpec, error)

GetServiceSpec returns service spec from its name.

type TemporalAdminToolsSpec

type TemporalAdminToolsSpec struct {
	// Enabled defines if the operator should deploy the admin tools alongside the cluster.
	// +optional
	Enabled bool `json:"enabled"`
	// Image defines the temporal admin tools docker image the instance should run.
	// +optional
	Image string `json:"image"`
	// Version defines the temporal admin tools version the instance should run.
	// +optional
	Version string `json:"version"`
	// Compute Resources required by the ui.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// Overrides adds some overrides to the resources deployed for the ui.
	// +optional
	Overrides *ServiceSpecOverride `json:"overrides,omitempty"`
}

TemporalAdminToolsSpec defines parameters for the temporal admin tools within a Temporal cluster deployment. Note that deployed admin tools version is the same as the cluster's version.

func (*TemporalAdminToolsSpec) DeepCopy

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

func (*TemporalAdminToolsSpec) DeepCopyInto

func (in *TemporalAdminToolsSpec) DeepCopyInto(out *TemporalAdminToolsSpec)

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

type TemporalCluster

type TemporalCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the Temporal cluster.
	Spec TemporalClusterSpec `json:"spec,omitempty"`
	// Most recent observed status of the Temporal cluster.
	Status TemporalClusterStatus `json:"status,omitempty"`
}

TemporalCluster defines a temporal cluster deployment.

func (*TemporalCluster) ChildResourceName

func (c *TemporalCluster) ChildResourceName(resource string) string

ChildResourceName returns child resource name using the cluster's name.

func (*TemporalCluster) DeepCopy

func (in *TemporalCluster) DeepCopy() *TemporalCluster

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

func (*TemporalCluster) DeepCopyInto

func (in *TemporalCluster) DeepCopyInto(out *TemporalCluster)

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

func (*TemporalCluster) DeepCopyObject

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

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

func (*TemporalCluster) Default added in v0.10.0

func (c *TemporalCluster) Default()

Default set default fields values.

func (*TemporalCluster) FQDNSuffix added in v0.18.0

func (c *TemporalCluster) FQDNSuffix() string

FQDNSuffix returns the cluster's FQDN suffix.

func (*TemporalCluster) GetPublicClientAddress

func (c *TemporalCluster) GetPublicClientAddress() string

func (*TemporalCluster) IsReady added in v0.13.3

func (c *TemporalCluster) IsReady() bool

IsReady returns true if the TemporalCluster's conditions reports it ready.

func (*TemporalCluster) MTLSWithCertManagerEnabled

func (c *TemporalCluster) MTLSWithCertManagerEnabled() bool

MTLSEnabled returns true if mTLS is enabled for internode or frontend using cert-manager.

func (*TemporalCluster) SelectorLabels added in v0.13.0

func (c *TemporalCluster) SelectorLabels() map[string]string

func (*TemporalCluster) ServerName

func (c *TemporalCluster) ServerName() string

ServerName returns cluster's server name.

type TemporalClusterClient

type TemporalClusterClient struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TemporalClusterClientSpec   `json:"spec,omitempty"`
	Status TemporalClusterClientStatus `json:"status,omitempty"`
}

A TemporalClusterClient creates a new mTLS client in the targeted temporal cluster.

func (*TemporalClusterClient) DeepCopy

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

func (*TemporalClusterClient) DeepCopyInto

func (in *TemporalClusterClient) DeepCopyInto(out *TemporalClusterClient)

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

func (*TemporalClusterClient) DeepCopyObject

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

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

type TemporalClusterClientList

type TemporalClusterClientList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TemporalClusterClient `json:"items"`
}

TemporalClusterClientList contains a list of ClusterClient.

func (*TemporalClusterClientList) DeepCopy

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

func (*TemporalClusterClientList) DeepCopyInto

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

func (*TemporalClusterClientList) DeepCopyObject

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

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

type TemporalClusterClientSpec

type TemporalClusterClientSpec struct {
	// Reference to the temporal cluster the client will get access to.
	ClusterRef ObjectReference `json:"clusterRef"`
}

TemporalClusterClientSpec defines the desired state of ClusterClient.

func (*TemporalClusterClientSpec) DeepCopy

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

func (*TemporalClusterClientSpec) DeepCopyInto

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

type TemporalClusterClientStatus

type TemporalClusterClientStatus struct {
	// ServerName is the hostname returned by the certificate.
	ServerName string `json:"serverName"`
	// Reference to the Kubernetes Secret containing the certificate for the client.
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
}

TemporalClusterClientStatus defines the observed state of ClusterClient.

func (*TemporalClusterClientStatus) DeepCopy

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

func (*TemporalClusterClientStatus) DeepCopyInto

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

type TemporalClusterList

type TemporalClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TemporalCluster `json:"items"`
}

TemporalClusterList contains a list of Cluster.

func (*TemporalClusterList) DeepCopy

func (in *TemporalClusterList) DeepCopy() *TemporalClusterList

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

func (*TemporalClusterList) DeepCopyInto

func (in *TemporalClusterList) DeepCopyInto(out *TemporalClusterList)

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

func (*TemporalClusterList) DeepCopyObject

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

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

type TemporalClusterSpec

type TemporalClusterSpec struct {
	// Image defines the temporal server docker image the cluster should use for each services.
	// +optional
	Image string `json:"image"`
	// Version defines the temporal version the cluster to be deployed.
	// This version impacts the underlying persistence schemas versions.
	// +optional
	Version *version.Version `json:"version"`
	// Log defines temporal cluster's logger configuration.
	// +optional
	Log *LogSpec `json:"log,omitempty"`
	// JobTTLSecondsAfterFinished is amount of time to keep job pods after jobs are completed.
	// Defaults to 300 seconds.
	// +optional
	//+kubebuilder:default:=300
	//+kubebuilder:validation:Minimum=1
	JobTTLSecondsAfterFinished *int32 `json:"jobTtlSecondsAfterFinished"`
	// JobResources allows set resources for setup/update jobs.
	// +optional
	JobResources corev1.ResourceRequirements `json:"jobResources,omitempty"`
	// JobInitContainers adds a list of init containers to the setup's jobs.
	// +optional
	JobInitContainers []corev1.Container `json:"jobInitContainers,omitempty"`
	// NumHistoryShards is the desired number of history shards.
	// This field is immutable.
	//+kubebuilder:validation:Minimum=1
	NumHistoryShards int32 `json:"numHistoryShards"`
	// Services allows customizations for each temporal services deployment.
	// +optional
	Services *ServicesSpec `json:"services,omitempty"`
	// Persistence defines temporal persistence configuration.
	Persistence TemporalPersistenceSpec `json:"persistence"`
	// An optional list of references to secrets in the same namespace
	// to use for pulling temporal images from registries.
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// UI allows configuration of the optional temporal web ui deployed alongside the cluster.
	// +optional
	UI *TemporalUISpec `json:"ui,omitempty"`
	// AdminTools allows configuration of the optional admin tool pod deployed alongside the cluster.
	// +optional
	AdminTools *TemporalAdminToolsSpec `json:"admintools,omitempty"`
	// MTLS allows configuration of the network traffic encryption for the cluster.
	// +optional
	MTLS *MTLSSpec `json:"mTLS,omitempty"` //nolint:tagliatelle
	// Metrics allows configuration of scraping endpoints for stats. prometheus or m3.
	// +optional
	Metrics *MetricsSpec `json:"metrics,omitempty"`
	// DynamicConfig allows advanced configuration for the temporal cluster.
	// +optional
	DynamicConfig *DynamicConfigSpec `json:"dynamicConfig,omitempty"`
	// Archival allows Workflow Execution Event Histories and Visibility data backups for the temporal cluster.
	// +optional
	Archival *ClusterArchivalSpec `json:"archival,omitempty"`
	// Authorization allows authorization configuration for the temporal cluster.
	// +optional
	Authorization *AuthorizationSpec `json:"authorization,omitempty"`
}

TemporalClusterSpec defines the desired state of Cluster.

func (*TemporalClusterSpec) DeepCopy

func (in *TemporalClusterSpec) DeepCopy() *TemporalClusterSpec

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

func (*TemporalClusterSpec) DeepCopyInto

func (in *TemporalClusterSpec) DeepCopyInto(out *TemporalClusterSpec)

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

type TemporalClusterStatus

type TemporalClusterStatus struct {
	// Version holds the current temporal version.
	Version string `json:"version,omitempty"`
	// Services holds all services statuses.
	Services []ServiceStatus `json:"services,omitempty"`
	// Persistence holds all datastores statuses.
	Persistence *TemporalPersistenceStatus `json:"persistence,omitempty"`
	// Conditions represent the latest available observations of the Cluster state.
	Conditions []metav1.Condition `json:"conditions"`
}

TemporalClusterStatus defines the observed state of Cluster.

func (*TemporalClusterStatus) AddServiceStatus

func (s *TemporalClusterStatus) AddServiceStatus(status *ServiceStatus)

AddServiceStatus adds the provided service status to the cluster's status.

func (*TemporalClusterStatus) DeepCopy

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

func (*TemporalClusterStatus) DeepCopyInto

func (in *TemporalClusterStatus) DeepCopyInto(out *TemporalClusterStatus)

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

type TemporalNamespace

type TemporalNamespace struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TemporalNamespaceSpec   `json:"spec,omitempty"`
	Status TemporalNamespaceStatus `json:"status,omitempty"`
}

A TemporalNamespace creates a namespace in the targeted temporal cluster.

func (*TemporalNamespace) DeepCopy

func (in *TemporalNamespace) DeepCopy() *TemporalNamespace

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

func (*TemporalNamespace) DeepCopyInto

func (in *TemporalNamespace) DeepCopyInto(out *TemporalNamespace)

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

func (*TemporalNamespace) DeepCopyObject

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

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

func (*TemporalNamespace) IsReady added in v0.19.0

func (c *TemporalNamespace) IsReady() bool

IsReady returns true if the TemporalNamespace's conditions reports it ready.

type TemporalNamespaceArchivalSpec added in v0.15.0

type TemporalNamespaceArchivalSpec struct {
	// History is the config for this namespace history archival.
	// +optional
	History *ArchivalSpec `json:"history,omitempty"`
	// Visibility is the config for this namespace visibility archival.
	// +optional
	Visibility *ArchivalSpec `json:"visibility,omitempty"`
}

TemporalNamespaceArchivalSpec is a per-namespace archival configuration override.

func (*TemporalNamespaceArchivalSpec) DeepCopy added in v0.15.0

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

func (*TemporalNamespaceArchivalSpec) DeepCopyInto added in v0.15.0

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

type TemporalNamespaceList

type TemporalNamespaceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TemporalNamespace `json:"items"`
}

TemporalNamespaceList contains a list of Namespace.

func (*TemporalNamespaceList) DeepCopy

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

func (*TemporalNamespaceList) DeepCopyInto

func (in *TemporalNamespaceList) DeepCopyInto(out *TemporalNamespaceList)

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

func (*TemporalNamespaceList) DeepCopyObject

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

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

type TemporalNamespaceSpec

type TemporalNamespaceSpec struct {
	// Reference to the temporal cluster the namespace will be created.
	ClusterRef ObjectReference `json:"clusterRef"`
	// Namespace description.
	// +optional
	Description string `json:"description,omitempty"`
	// Namespace owner email.
	// +optional
	OwnerEmail string `json:"ownerEmail,omitempty"`
	// RetentionPeriod to apply on closed workflow executions.
	RetentionPeriod *metav1.Duration `json:"retentionPeriod"`
	// Data is a key-value map for any customized purpose.
	// +optional
	Data map[string]string `json:"data,omitempty"`
	// +optional
	SecurityToken string `json:"securityToken,omitempty"`
	// IsGlobalNamespace defines whether the namespace is a global namespace.
	// +optional
	IsGlobalNamespace bool `json:"isGlobalNamespace,omitempty"`
	// List of clusters names to which the namespace can fail over.
	// Only applicable if the namespace is a global namespace.
	// +optional
	Clusters []string `json:"clusters,omitempty"`
	// The name of active Temporal Cluster.
	// Only applicable if the namespace is a global namespace.
	// +optional
	ActiveClusterName string `json:"activeClusterName,omitempty"`
	// AllowDeletion makes the controller delete the Temporal namespace if the
	// CRD is deleted.
	// +optional
	AllowDeletion bool `json:"allowDeletion,omitempty"`
	// Archival is a per-namespace archival configuration.
	// If not set, the default cluster configuration is used.
	// +optional
	Archival *TemporalNamespaceArchivalSpec `json:"archival,omitempty"`
}

TemporalNamespaceSpec defines the desired state of Namespace.

func (*TemporalNamespaceSpec) DeepCopy

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

func (*TemporalNamespaceSpec) DeepCopyInto

func (in *TemporalNamespaceSpec) DeepCopyInto(out *TemporalNamespaceSpec)

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

type TemporalNamespaceStatus

type TemporalNamespaceStatus struct {
	// Conditions represent the latest available observations of the Namespace state.
	Conditions []metav1.Condition `json:"conditions"`
}

TemporalNamespaceStatus defines the observed state of Namespace.

func (*TemporalNamespaceStatus) DeepCopy

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

func (*TemporalNamespaceStatus) DeepCopyInto

func (in *TemporalNamespaceStatus) DeepCopyInto(out *TemporalNamespaceStatus)

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

type TemporalPersistenceSpec

type TemporalPersistenceSpec struct {
	// DefaultStore holds the default datastore specs.
	DefaultStore *DatastoreSpec `json:"defaultStore"`
	// VisibilityStore holds the visibility datastore specs.
	VisibilityStore *DatastoreSpec `json:"visibilityStore"`
	// SecondaryVisibilityStore holds the secondary visibility datastore specs.
	// Feature only available for clusters >= 1.21.0.
	// +optional
	SecondaryVisibilityStore *DatastoreSpec `json:"secondaryVisibilityStore,omitempty"`
	// AdvancedVisibilityStore holds the advanced visibility datastore specs.
	// +optional
	AdvancedVisibilityStore *DatastoreSpec `json:"advancedVisibilityStore,omitempty"`
}

TemporalPersistenceSpec contains temporal persistence specifications.

func (*TemporalPersistenceSpec) DeepCopy

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

func (*TemporalPersistenceSpec) DeepCopyInto

func (in *TemporalPersistenceSpec) DeepCopyInto(out *TemporalPersistenceSpec)

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

func (*TemporalPersistenceSpec) GetDatastores

func (p *TemporalPersistenceSpec) GetDatastores() []*DatastoreSpec

func (*TemporalPersistenceSpec) GetDatastoresMap added in v0.12.0

func (p *TemporalPersistenceSpec) GetDatastoresMap() map[string]*DatastoreSpec

type TemporalPersistenceStatus

type TemporalPersistenceStatus struct {
	// DefaultStore holds the default datastore status.
	DefaultStore *DatastoreStatus `json:"defaultStore"`
	// VisibilityStore holds the visibility datastore status.
	VisibilityStore *DatastoreStatus `json:"visibilityStore"`
	// SecondaryVisibilityStore holds the secondary visibility datastore status.
	// +optional
	SecondaryVisibilityStore *DatastoreStatus `json:"secondaryVisibilityStore"`
	// AdvancedVisibilityStore holds the advanced visibility datastore status.
	// +optional
	AdvancedVisibilityStore *DatastoreStatus `json:"advancedVisibilityStore,omitempty"`
}

TemporalPersistenceStatus contains temporal persistence status.

func (*TemporalPersistenceStatus) DeepCopy

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

func (*TemporalPersistenceStatus) DeepCopyInto

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

type TemporalSchedule added in v0.19.0

type TemporalSchedule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TemporalScheduleSpec   `json:"spec,omitempty"`
	Status TemporalScheduleStatus `json:"status,omitempty"`
}

A TemporalSchedule creates a schedule in the targeted temporal cluster.

func (*TemporalSchedule) DeepCopy added in v0.19.0

func (in *TemporalSchedule) DeepCopy() *TemporalSchedule

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

func (*TemporalSchedule) DeepCopyInto added in v0.19.0

func (in *TemporalSchedule) DeepCopyInto(out *TemporalSchedule)

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

func (*TemporalSchedule) DeepCopyObject added in v0.19.0

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

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

type TemporalScheduleList added in v0.19.0

type TemporalScheduleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TemporalSchedule `json:"items"`
}

TemporalSchedule contains a list of Schedule.

func (*TemporalScheduleList) DeepCopy added in v0.19.0

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

func (*TemporalScheduleList) DeepCopyInto added in v0.19.0

func (in *TemporalScheduleList) DeepCopyInto(out *TemporalScheduleList)

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

func (*TemporalScheduleList) DeepCopyObject added in v0.19.0

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

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

type TemporalScheduleSpec added in v0.19.0

type TemporalScheduleSpec struct {
	// Reference to the temporal namespace the schedule will be created in.
	NamespaceRef ObjectReference `json:"namespaceRef"`

	Schedule Schedule `json:"schedule"`

	// Memo is optional non-indexed info that will be shown in list workflow.
	//
	// +optional
	// +kubebuilder:validation:Type=object
	Memo *apiextensionsv1.JSON `json:"memo,omitempty"`

	// SearchAttributes is optional indexed info that can be used in query of List/Scan/Count workflow APIs. The key
	// and value type must be registered on Temporal server side. For supported operations on different server versions
	// see [Visibility].
	//
	// [Visibility]: https://docs.temporal.io/visibility
	//
	// +optional
	// +kubebuilder:validation:Type=object
	SearchAttributes *apiextensionsv1.JSON `json:"searchAttributes,omitempty"`

	// AllowDeletion makes the controller delete the Temporal schedule if the
	// CRD is deleted.
	//
	// +optional
	AllowDeletion bool `json:"allowDeletion,omitempty"`
}

TemporalScheduleSpec defines the desired state of Schedule.

func (*TemporalScheduleSpec) DeepCopy added in v0.19.0

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

func (*TemporalScheduleSpec) DeepCopyInto added in v0.19.0

func (in *TemporalScheduleSpec) DeepCopyInto(out *TemporalScheduleSpec)

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

type TemporalScheduleStatus added in v0.19.0

type TemporalScheduleStatus struct {
	// Conditions represent the latest available observations of the Schedule state.
	Conditions []metav1.Condition `json:"conditions"`
}

TemporalScheduleStatus defines the observed state of Schedule.

func (*TemporalScheduleStatus) DeepCopy added in v0.19.0

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

func (*TemporalScheduleStatus) DeepCopyInto added in v0.19.0

func (in *TemporalScheduleStatus) DeepCopyInto(out *TemporalScheduleStatus)

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

type TemporalUIIngressSpec

type TemporalUIIngressSpec struct {
	// Annotations allows custom annotations on the ingress resource.
	Annotations map[string]string `json:"annotations,omitempty"`
	// IngressClassName is the name of the IngressClass the deployed ingress resource should use.
	IngressClassName *string `json:"ingressClassName,omitempty"`
	// Host is the list of host the ingress should use.
	Hosts []string `json:"hosts"`
	// TLS configuration.
	TLS []networkingv1.IngressTLS `json:"tls,omitempty" protobuf:"bytes,2,rep,name=tls"`
}

TemporalUIIngressSpec contains all configurations options for the UI ingress.

func (*TemporalUIIngressSpec) DeepCopy

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

func (*TemporalUIIngressSpec) DeepCopyInto

func (in *TemporalUIIngressSpec) DeepCopyInto(out *TemporalUIIngressSpec)

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

type TemporalUISpec

type TemporalUISpec struct {
	// Enabled defines if the operator should deploy the web ui alongside the cluster.
	// +optional
	Enabled bool `json:"enabled"`
	// Version defines the temporal ui version the instance should run.
	// +optional
	Version string `json:"version"`
	// Image defines the temporal ui docker image the instance should run.
	// +optional
	Image string `json:"image"`
	// Number of desired replicas for the ui. Default to 1.
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas"`
	// Compute Resources required by the ui.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// Overrides adds some overrides to the resources deployed for the ui.
	// +optional
	Overrides *ServiceSpecOverride `json:"overrides,omitempty"`
	// Ingress is an optional ingress configuration for the UI.
	// If lived empty, no ingress configuration will be created and the UI will only by available trough ClusterIP service.
	// +optional
	Ingress *TemporalUIIngressSpec `json:"ingress,omitempty"`
	// Service is an optional service resource configuration for the UI.
	// +optional
	Service *ObjectMetaOverride `json:"service,omitempty"`
}

TemporalUISpec defines parameters for the temporal UI within a Temporal cluster deployment.

func (*TemporalUISpec) DeepCopy

func (in *TemporalUISpec) DeepCopy() *TemporalUISpec

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

func (*TemporalUISpec) DeepCopyInto

func (in *TemporalUISpec) DeepCopyInto(out *TemporalUISpec)

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