Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the ps v1 API group +kubebuilder:object:generate=true +groupName=ps.percona.com
Index ¶
- Constants
- Variables
- func FNVHash(p []byte) string
- func GetClusterNameFromObject(obj client.Object) (string, error)
- type BackupContainerArgs
- type BackupContainerOptions
- type BackupDestination
- func (dest *BackupDestination) BackupName() string
- func (dest *BackupDestination) BucketAndPrefix() (string, string)
- func (dest *BackupDestination) PathWithoutBucket() string
- func (dest *BackupDestination) SetAzureDestination(container, backupName string)
- func (dest *BackupDestination) SetGCSDestination(bucket, backupName string)
- func (dest *BackupDestination) SetS3Destination(bucket, backupName string)
- func (dest *BackupDestination) StorageTypePrefix() string
- func (dest *BackupDestination) String() string
- type BackupSchedule
- type BackupSpec
- type BackupState
- type BackupStorageAzureSpec
- type BackupStorageGCSSpec
- type BackupStorageS3Spec
- type BackupStorageSpec
- type BackupStorageType
- type BinlogServerSpec
- type BinlogServerStorageSpec
- type BucketWithPrefix
- type ClusterType
- type ContainerSpec
- type HAProxySpec
- type InitContainerSpec
- type Metadata
- type MySQLRouterSpec
- type MySQLSpec
- type OrchestratorSpec
- type PMMSpec
- type PerconaServerMySQL
- func (cr *PerconaServerMySQL) CheckNSetDefaults(_ context.Context, serverVersion *platform.ServerVersion) error
- func (cr *PerconaServerMySQL) ClusterHash() string
- func (cr *PerconaServerMySQL) ClusterHint() string
- func (cr *PerconaServerMySQL) CompareVersion(ver string) int
- func (in *PerconaServerMySQL) DeepCopy() *PerconaServerMySQL
- func (in *PerconaServerMySQL) DeepCopyInto(out *PerconaServerMySQL)
- func (in *PerconaServerMySQL) DeepCopyObject() runtime.Object
- func (cr *PerconaServerMySQL) GlobalAnnotations() map[string]string
- func (cr *PerconaServerMySQL) GlobalLabels() map[string]string
- func (cr *PerconaServerMySQL) HAProxyEnabled() bool
- func (cr *PerconaServerMySQL) InnoDBClusterName() string
- func (cr *PerconaServerMySQL) InternalSecretName() string
- func (cr *PerconaServerMySQL) Labels(name, component string) map[string]string
- func (cr *PerconaServerMySQL) MySQLSpec() *MySQLSpec
- func (cr *PerconaServerMySQL) OrchestratorEnabled() bool
- func (cr *PerconaServerMySQL) OrchestratorSpec() *OrchestratorSpec
- func (cr *PerconaServerMySQL) PMMEnabled(secret *corev1.Secret) bool
- func (cr *PerconaServerMySQL) PMMSpec() *PMMSpec
- func (cr *PerconaServerMySQL) PVCResizeInProgress() bool
- func (cr *PerconaServerMySQL) RouterEnabled() bool
- func (cr *PerconaServerMySQL) Version() *v.Version
- type PerconaServerMySQLBackup
- func (in *PerconaServerMySQLBackup) DeepCopy() *PerconaServerMySQLBackup
- func (in *PerconaServerMySQLBackup) DeepCopyInto(out *PerconaServerMySQLBackup)
- func (in *PerconaServerMySQLBackup) DeepCopyObject() runtime.Object
- func (cr *PerconaServerMySQLBackup) Hash() string
- func (cr *PerconaServerMySQLBackup) Labels(name, component string) map[string]string
- type PerconaServerMySQLBackupList
- type PerconaServerMySQLBackupSpec
- type PerconaServerMySQLBackupStatus
- type PerconaServerMySQLList
- type PerconaServerMySQLRestore
- func (in *PerconaServerMySQLRestore) DeepCopy() *PerconaServerMySQLRestore
- func (in *PerconaServerMySQLRestore) DeepCopyInto(out *PerconaServerMySQLRestore)
- func (in *PerconaServerMySQLRestore) DeepCopyObject() runtime.Object
- func (cr *PerconaServerMySQLRestore) Labels(name, component string) map[string]string
- type PerconaServerMySQLRestoreList
- type PerconaServerMySQLRestoreSpec
- type PerconaServerMySQLRestoreStatus
- type PerconaServerMySQLSpec
- type PerconaServerMySQLStatus
- type PiTRSpec
- type PodAffinity
- type PodDisruptionBudgetSpec
- type PodSpec
- func (in *PodSpec) DeepCopy() *PodSpec
- func (in *PodSpec) DeepCopyInto(out *PodSpec)
- func (p *PodSpec) GetAffinity(selector map[string]string) *corev1.Affinity
- func (s *PodSpec) GetInitSpec(cr *PerconaServerMySQL) InitContainerSpec
- func (s PodSpec) GetTerminationGracePeriodSeconds() *int64
- func (p *PodSpec) GetTopologySpreadConstraints(selector map[string]string) []corev1.TopologySpreadConstraint
- type ProxySpec
- type RestoreState
- type ServiceExpose
- type ServiceExposeTogglable
- type SidecarPVC
- type StatefulAppState
- type StatefulAppStatus
- type SystemUser
- type TLSSpec
- type ToolkitSpec
- type UnsafeFlags
- type UpgradeOptions
- type VolumeSpec
Constants ¶
const ( ClusterTypeGR ClusterType = "group-replication" ClusterTypeAsync ClusterType = "async" MinSafeProxySize = 2 MinSafeGRSize = 3 MaxSafeGRSize = 9 MinSafeAsyncSize = 2 )
const ( BinVolumeName = "bin" BinVolumePath = "/opt/percona" )
const ( UpgradeStrategyDisabled = "disabled" UpgradeStrategyNever = "never" UpgradeStrategyRecommended = "recommended" UpgradeStrategyLatest = "latest" )
const ( AzureBlobStoragePrefix string = "" AwsBlobStoragePrefix string = "s3://" GCSStoragePrefix string = "gs://" )
const AffinityTopologyKeyNone = "none"
const ConditionInnoDBClusterBootstrapped string = "InnoDBClusterBootstrapped"
const SmartUpdateStatefulSetStrategyType appsv1.StatefulSetUpdateStrategyType = "SmartUpdate"
SmartUpdateStatefulSetStrategyType
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "ps.percona.com", Version: "v1"} // 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 )
var NonAlphaNumeric = regexp.MustCompile("[^a-zA-Z0-9_]+")
Functions ¶
Types ¶
type BackupContainerArgs ¶
type BackupContainerArgs struct { Xtrabackup []string `json:"xtrabackup,omitempty"` Xbcloud []string `json:"xbcloud,omitempty"` Xbstream []string `json:"xbstream,omitempty"` }
func (*BackupContainerArgs) DeepCopy ¶
func (in *BackupContainerArgs) DeepCopy() *BackupContainerArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupContainerArgs.
func (*BackupContainerArgs) DeepCopyInto ¶
func (in *BackupContainerArgs) DeepCopyInto(out *BackupContainerArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupContainerArgs) Env ¶
func (b *BackupContainerArgs) Env() []corev1.EnvVar
type BackupContainerOptions ¶
type BackupContainerOptions struct { // +optional Env []corev1.EnvVar `json:"env,omitempty"` // +optional Args BackupContainerArgs `json:"args"` }
func (*BackupContainerOptions) DeepCopy ¶
func (in *BackupContainerOptions) DeepCopy() *BackupContainerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupContainerOptions.
func (*BackupContainerOptions) DeepCopyInto ¶
func (in *BackupContainerOptions) DeepCopyInto(out *BackupContainerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupContainerOptions) GetEnv ¶
func (b *BackupContainerOptions) GetEnv() []corev1.EnvVar
func (*BackupContainerOptions) GetEnvVar ¶
func (b *BackupContainerOptions) GetEnvVar(storage *BackupStorageSpec) []corev1.EnvVar
type BackupDestination ¶
type BackupDestination string
func (*BackupDestination) BackupName ¶
func (dest *BackupDestination) BackupName() string
func (*BackupDestination) BucketAndPrefix ¶
func (dest *BackupDestination) BucketAndPrefix() (string, string)
func (*BackupDestination) PathWithoutBucket ¶
func (dest *BackupDestination) PathWithoutBucket() string
func (*BackupDestination) SetAzureDestination ¶
func (dest *BackupDestination) SetAzureDestination(container, backupName string)
func (*BackupDestination) SetGCSDestination ¶
func (dest *BackupDestination) SetGCSDestination(bucket, backupName string)
func (*BackupDestination) SetS3Destination ¶
func (dest *BackupDestination) SetS3Destination(bucket, backupName string)
func (*BackupDestination) StorageTypePrefix ¶
func (dest *BackupDestination) StorageTypePrefix() string
func (*BackupDestination) String ¶
func (dest *BackupDestination) String() string
type BackupSchedule ¶
type BackupSchedule struct { // +kubebuilder:validation:Required Name string `json:"name,omitempty"` // +kubebuilder:validation:Required Schedule string `json:"schedule,omitempty"` Keep int `json:"keep,omitempty"` // +kubebuilder:validation:Required StorageName string `json:"storageName,omitempty"` }
func (*BackupSchedule) DeepCopy ¶
func (in *BackupSchedule) DeepCopy() *BackupSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSchedule.
func (*BackupSchedule) DeepCopyInto ¶
func (in *BackupSchedule) DeepCopyInto(out *BackupSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupSpec ¶
type BackupSpec struct { Enabled bool `json:"enabled,omitempty"` SourcePod string `json:"sourcePod,omitempty"` Image string `json:"image"` ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` ServiceAccountName string `json:"serviceAccountName,omitempty"` ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` Storages map[string]*BackupStorageSpec `json:"storages,omitempty"` BackoffLimit *int32 `json:"backoffLimit,omitempty"` PiTR PiTRSpec `json:"pitr,omitempty"` Schedule []BackupSchedule `json:"schedule,omitempty"` // Deprecated: not supported since v0.12.0. Use initContainer instead InitImage string `json:"initImage,omitempty"` InitContainer *InitContainerSpec `json:"initContainer,omitempty"` }
func (*BackupSpec) DeepCopy ¶
func (in *BackupSpec) DeepCopy() *BackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSpec.
func (*BackupSpec) DeepCopyInto ¶
func (in *BackupSpec) DeepCopyInto(out *BackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupSpec) GetInitSpec ¶
func (s *BackupSpec) GetInitSpec(cr *PerconaServerMySQL) InitContainerSpec
type BackupState ¶
type BackupState string
const ( BackupNew BackupState = "" BackupStarting BackupState = "Starting" BackupRunning BackupState = "Running" BackupSucceeded BackupState = "Succeeded" // Used for backups that failed to start at all BackupError BackupState = "Error" // Used for backups that started but failed BackupFailed BackupState = "Failed" )
type BackupStorageAzureSpec ¶
type BackupStorageAzureSpec struct { // A container name is a valid DNS name that conforms to the Azure naming rules. ContainerName BucketWithPrefix `json:"container"` // A prefix is a sub-folder to the backups inside the container Prefix string `json:"prefix,omitempty"` // A generated key that can be used to authorize access to data in your account using the Shared Key authorization. CredentialsSecret string `json:"credentialsSecret"` // The endpoint allows clients to securely access data EndpointURL string `json:"endpointUrl,omitempty"` // Hot (Frequently accessed or modified data), Cool (Infrequently accessed or modified data), Archive (Rarely accessed or modified data) StorageClass string `json:"storageClass,omitempty"` }
func (*BackupStorageAzureSpec) ContainerAndPrefix ¶
func (b *BackupStorageAzureSpec) ContainerAndPrefix() (string, string)
ContainerAndPrefix returns container name from ContainerName and backup prefix from ContainerName concatenated with Prefix. BackupStorageAzureSpec.ContainerName can contain backup path in format `<container-name>/<backup-prefix>`.
func (*BackupStorageAzureSpec) DeepCopy ¶
func (in *BackupStorageAzureSpec) DeepCopy() *BackupStorageAzureSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageAzureSpec.
func (*BackupStorageAzureSpec) DeepCopyInto ¶
func (in *BackupStorageAzureSpec) DeepCopyInto(out *BackupStorageAzureSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageGCSSpec ¶
type BackupStorageGCSSpec struct { Bucket BucketWithPrefix `json:"bucket"` Prefix string `json:"prefix,omitempty"` CredentialsSecret string `json:"credentialsSecret"` EndpointURL string `json:"endpointUrl,omitempty"` // STANDARD, NEARLINE, COLDLINE, ARCHIVE StorageClass string `json:"storageClass,omitempty"` }
func (*BackupStorageGCSSpec) BucketAndPrefix ¶
func (b *BackupStorageGCSSpec) BucketAndPrefix() (string, string)
BucketAndPrefix returns bucket name and backup prefix from Bucket concatenated with Prefix. BackupStorageGCSSpec.Bucket can contain backup path in format `<bucket-name>/<backup-prefix>`.
func (*BackupStorageGCSSpec) DeepCopy ¶
func (in *BackupStorageGCSSpec) DeepCopy() *BackupStorageGCSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageGCSSpec.
func (*BackupStorageGCSSpec) DeepCopyInto ¶
func (in *BackupStorageGCSSpec) DeepCopyInto(out *BackupStorageGCSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageS3Spec ¶
type BackupStorageS3Spec struct { Bucket BucketWithPrefix `json:"bucket"` Prefix string `json:"prefix,omitempty"` CredentialsSecret string `json:"credentialsSecret"` Region string `json:"region,omitempty"` EndpointURL string `json:"endpointUrl,omitempty"` StorageClass string `json:"storageClass,omitempty"` }
func (*BackupStorageS3Spec) BucketAndPrefix ¶
func (b *BackupStorageS3Spec) BucketAndPrefix() (string, string)
BucketAndPrefix returns bucket name and backup prefix from Bucket concatenated with Prefix. BackupStorageS3Spec.Bucket can contain backup path in format `<bucket-name>/<backup-prefix>`.
func (*BackupStorageS3Spec) DeepCopy ¶
func (in *BackupStorageS3Spec) DeepCopy() *BackupStorageS3Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageS3Spec.
func (*BackupStorageS3Spec) DeepCopyInto ¶
func (in *BackupStorageS3Spec) DeepCopyInto(out *BackupStorageS3Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageSpec ¶
type BackupStorageSpec struct { Type BackupStorageType `json:"type"` Volume *VolumeSpec `json:"volumeSpec,omitempty"` S3 *BackupStorageS3Spec `json:"s3,omitempty"` GCS *BackupStorageGCSSpec `json:"gcs,omitempty"` Azure *BackupStorageAzureSpec `json:"azure,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` Affinity *corev1.Affinity `json:"affinity,omitempty"` TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` Labels map[string]string `json:"labels,omitempty"` SchedulerName string `json:"schedulerName,omitempty"` PriorityClassName string `json:"priorityClassName,omitempty"` PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"` RuntimeClassName *string `json:"runtimeClassName,omitempty"` VerifyTLS *bool `json:"verifyTLS,omitempty"` ContainerOptions *BackupContainerOptions `json:"containerOptions,omitempty"` }
func (*BackupStorageSpec) DeepCopy ¶
func (in *BackupStorageSpec) DeepCopy() *BackupStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageSpec.
func (*BackupStorageSpec) DeepCopyInto ¶
func (in *BackupStorageSpec) DeepCopyInto(out *BackupStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageType ¶
type BackupStorageType string
const ( BackupStorageS3 BackupStorageType = "s3" BackupStorageGCS BackupStorageType = "gcs" BackupStorageAzure BackupStorageType = "azure" )
type BinlogServerSpec ¶
type BinlogServerSpec struct { Storage BinlogServerStorageSpec `json:"storage"` // The number of seconds the MySQL client library will wait to establish a connection with a remote host ConnectTimeout int32 `json:"connectTimeout"` // The number of seconds the MySQL client library will wait to read data from a remote server. ReadTimeout int32 `json:"readTimeout"` // The number of seconds the MySQL client library will wait to write data to a remote server. WriteTimeout int32 `json:"writeTimeout"` // Specifies the server ID that the utility will be using when connecting to a remote MySQL server ServerID int32 `json:"serverId"` // The number of seconds the utility will spend in disconnected mode between reconnection attempts. IdleTime int32 `json:"idleTime"` PodSpec `json:",inline"` }
func (*BinlogServerSpec) DeepCopy ¶
func (in *BinlogServerSpec) DeepCopy() *BinlogServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BinlogServerSpec.
func (*BinlogServerSpec) DeepCopyInto ¶
func (in *BinlogServerSpec) DeepCopyInto(out *BinlogServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BinlogServerStorageSpec ¶
type BinlogServerStorageSpec struct {
S3 *BackupStorageS3Spec `json:"s3,omitempty"`
}
func (*BinlogServerStorageSpec) DeepCopy ¶
func (in *BinlogServerStorageSpec) DeepCopy() *BinlogServerStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BinlogServerStorageSpec.
func (*BinlogServerStorageSpec) DeepCopyInto ¶
func (in *BinlogServerStorageSpec) DeepCopyInto(out *BinlogServerStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BucketWithPrefix ¶
type BucketWithPrefix string
BucketWithPrefix contains a bucket name with or without a prefix in a format <bucket>/<prefix>
type ClusterType ¶
type ClusterType string
type ContainerSpec ¶
type ContainerSpec struct { Image string `json:"image"` ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` StartupProbe corev1.Probe `json:"startupProbe,omitempty"` ReadinessProbe corev1.Probe `json:"readinessProbe,omitempty"` LivenessProbe corev1.Probe `json:"livenessProbe,omitempty"` ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"` Env []corev1.EnvVar `json:"env,omitempty"` EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"` }
func (*ContainerSpec) DeepCopy ¶
func (in *ContainerSpec) DeepCopy() *ContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerSpec.
func (*ContainerSpec) DeepCopyInto ¶
func (in *ContainerSpec) DeepCopyInto(out *ContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HAProxySpec ¶
type HAProxySpec struct { Enabled bool `json:"enabled,omitempty"` Expose ServiceExpose `json:"expose,omitempty"` PodSpec `json:",inline"` }
func (*HAProxySpec) DeepCopy ¶
func (in *HAProxySpec) DeepCopy() *HAProxySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HAProxySpec.
func (*HAProxySpec) DeepCopyInto ¶
func (in *HAProxySpec) DeepCopyInto(out *HAProxySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InitContainerSpec ¶
type InitContainerSpec struct { Image string `json:"image,omitempty"` Resources *corev1.ResourceRequirements `json:"resources,omitempty"` ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"` }
func (*InitContainerSpec) DeepCopy ¶
func (in *InitContainerSpec) DeepCopy() *InitContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitContainerSpec.
func (*InitContainerSpec) DeepCopyInto ¶
func (in *InitContainerSpec) DeepCopyInto(out *InitContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metadata ¶
type Metadata struct { // Map of string keys and values that can be used to organize and categorize // (scope and select) objects. May match selectors of replication controllers // and services. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels // +optional Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"` // Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations // +optional Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"` }
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLRouterSpec ¶
type MySQLRouterSpec struct { Enabled bool `json:"enabled,omitempty"` Expose ServiceExpose `json:"expose,omitempty"` Ports []corev1.ServicePort `json:"ports,omitempty"` PodSpec `json:",inline"` }
func (*MySQLRouterSpec) DeepCopy ¶
func (in *MySQLRouterSpec) DeepCopy() *MySQLRouterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLRouterSpec.
func (*MySQLRouterSpec) DeepCopyInto ¶
func (in *MySQLRouterSpec) DeepCopyInto(out *MySQLRouterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLSpec ¶
type MySQLSpec struct { ClusterType ClusterType `json:"clusterType,omitempty"` ExposePrimary ServiceExposeTogglable `json:"exposePrimary,omitempty"` Expose ServiceExposeTogglable `json:"expose,omitempty"` AutoRecovery bool `json:"autoRecovery,omitempty"` Sidecars []corev1.Container `json:"sidecars,omitempty"` SidecarVolumes []corev1.Volume `json:"sidecarVolumes,omitempty"` SidecarPVCs []SidecarPVC `json:"sidecarPVCs,omitempty"` VaultSecretName string `json:"vaultSecretName,omitempty"` PodSpec `json:",inline"` }
func (*MySQLSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLSpec.
func (*MySQLSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OrchestratorSpec ¶
type OrchestratorSpec struct { Enabled bool `json:"enabled,omitempty"` Expose ServiceExpose `json:"expose,omitempty"` PodSpec `json:",inline"` }
func (*OrchestratorSpec) DeepCopy ¶
func (in *OrchestratorSpec) DeepCopy() *OrchestratorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchestratorSpec.
func (*OrchestratorSpec) DeepCopyInto ¶
func (in *OrchestratorSpec) DeepCopyInto(out *OrchestratorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PMMSpec ¶
type PMMSpec struct { Enabled bool `json:"enabled,omitempty"` Image string `json:"image"` MySQLParams string `json:"mysqlParams,omitempty"` ServerHost string `json:"serverHost,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"` ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` LivenessProbes *corev1.Probe `json:"livenessProbes,omitempty"` ReadinessProbes *corev1.Probe `json:"readinessProbes,omitempty"` }
func (*PMMSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PMMSpec.
func (*PMMSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PerconaServerMySQL ¶
type PerconaServerMySQL struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PerconaServerMySQLSpec `json:"spec,omitempty"` Status PerconaServerMySQLStatus `json:"status,omitempty"` }
PerconaServerMySQL is the Schema for the perconaservermysqls API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Replication",type=string,JSONPath=".spec.mysql.clusterType" +kubebuilder:printcolumn:name="Endpoint",type=string,JSONPath=".status.host" +kubebuilder:printcolumn:name="State",type=string,JSONPath=".status.state" +kubebuilder:printcolumn:name="MySQL",type=string,JSONPath=".status.mysql.ready" +kubebuilder:printcolumn:name="Orchestrator",type=string,JSONPath=".status.orchestrator.ready" +kubebuilder:printcolumn:name="HAProxy",type=string,JSONPath=".status.haproxy.ready" +kubebuilder:printcolumn:name="Router",type=string,JSONPath=".status.router.ready" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:shortName=ps
func (*PerconaServerMySQL) CheckNSetDefaults ¶
func (cr *PerconaServerMySQL) CheckNSetDefaults(_ context.Context, serverVersion *platform.ServerVersion) error
CheckNSetDefaults validates and sets default values for the PerconaServerMySQL custom resource.
func (*PerconaServerMySQL) ClusterHash ¶
func (cr *PerconaServerMySQL) ClusterHash() string
ClusterHash returns FNV hash of the CustomResource UID
func (*PerconaServerMySQL) ClusterHint ¶
func (cr *PerconaServerMySQL) ClusterHint() string
ClusterHint generates a unique identifier for the PerconaServerMySQL cluster using its name and namespace.
func (*PerconaServerMySQL) CompareVersion ¶
func (cr *PerconaServerMySQL) CompareVersion(ver string) int
CompareVersion compares given version to current version. Returns -1, 0, or 1 if given version is smaller, equal, or larger than the current version, respectively.
func (*PerconaServerMySQL) DeepCopy ¶
func (in *PerconaServerMySQL) DeepCopy() *PerconaServerMySQL
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQL.
func (*PerconaServerMySQL) DeepCopyInto ¶
func (in *PerconaServerMySQL) DeepCopyInto(out *PerconaServerMySQL)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaServerMySQL) DeepCopyObject ¶
func (in *PerconaServerMySQL) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PerconaServerMySQL) GlobalAnnotations ¶
func (cr *PerconaServerMySQL) GlobalAnnotations() map[string]string
func (*PerconaServerMySQL) GlobalLabels ¶
func (cr *PerconaServerMySQL) GlobalLabels() map[string]string
func (*PerconaServerMySQL) HAProxyEnabled ¶
func (cr *PerconaServerMySQL) HAProxyEnabled() bool
HAProxyEnabled verifies if HAProxy is enabled based on MySQL configuration and safety settings.
func (*PerconaServerMySQL) InnoDBClusterName ¶
func (cr *PerconaServerMySQL) InnoDBClusterName() string
Generates a cluster name by sanitizing the PerconaServerMySQL name.
func (*PerconaServerMySQL) InternalSecretName ¶
func (cr *PerconaServerMySQL) InternalSecretName() string
InternalSecretName generates a name for the internal secret based on the PerconaServerMySQL name.
func (*PerconaServerMySQL) Labels ¶
func (cr *PerconaServerMySQL) Labels(name, component string) map[string]string
Labels returns a standardized set of labels for the PerconaServerMySQL custom resource.
func (*PerconaServerMySQL) MySQLSpec ¶
func (cr *PerconaServerMySQL) MySQLSpec() *MySQLSpec
MySQLSpec returns the MySQL specification from the PerconaServerMySQL custom resource.
func (*PerconaServerMySQL) OrchestratorEnabled ¶
func (cr *PerconaServerMySQL) OrchestratorEnabled() bool
OrchestratorEnabled determines if the orchestrator is enabled, considering the MySQL configuration.
func (*PerconaServerMySQL) OrchestratorSpec ¶
func (cr *PerconaServerMySQL) OrchestratorSpec() *OrchestratorSpec
OrchestratorSpec returns the Orchestrator specification from the PerconaServerMySQL custom resource.
func (*PerconaServerMySQL) PMMEnabled ¶
func (cr *PerconaServerMySQL) PMMEnabled(secret *corev1.Secret) bool
PMMEnabled checks if PMM is enabled and if the provided secret contains PMM-specific data.
func (*PerconaServerMySQL) PMMSpec ¶
func (cr *PerconaServerMySQL) PMMSpec() *PMMSpec
PMMSpec returns the PMM specification from the PerconaServerMySQL custom resource.
func (*PerconaServerMySQL) PVCResizeInProgress ¶
func (cr *PerconaServerMySQL) PVCResizeInProgress() bool
func (*PerconaServerMySQL) RouterEnabled ¶
func (cr *PerconaServerMySQL) RouterEnabled() bool
RouterEnabled checks if the router is enabled, considering the MySQL configuration.
func (*PerconaServerMySQL) Version ¶
func (cr *PerconaServerMySQL) Version() *v.Version
type PerconaServerMySQLBackup ¶
type PerconaServerMySQLBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PerconaServerMySQLBackupSpec `json:"spec,omitempty"` Status PerconaServerMySQLBackupStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Storage",type=string,JSONPath=".spec.storageName" +kubebuilder:printcolumn:name="Destination",type=string,JSONPath=".status.destination" +kubebuilder:printcolumn:name="State",type=string,JSONPath=".status.state" +kubebuilder:printcolumn:name="Completed",type="date",JSONPath=".status.completed" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:shortName=ps-backup;ps-backups PerconaServerMySQLBackup is the Schema for the perconaservermysqlbackups API
func (*PerconaServerMySQLBackup) DeepCopy ¶
func (in *PerconaServerMySQLBackup) DeepCopy() *PerconaServerMySQLBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLBackup.
func (*PerconaServerMySQLBackup) DeepCopyInto ¶
func (in *PerconaServerMySQLBackup) DeepCopyInto(out *PerconaServerMySQLBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaServerMySQLBackup) DeepCopyObject ¶
func (in *PerconaServerMySQLBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PerconaServerMySQLBackup) Hash ¶
func (cr *PerconaServerMySQLBackup) Hash() string
Hash returns FNV hash of the PerconaServerMySQLBackup UID
type PerconaServerMySQLBackupList ¶
type PerconaServerMySQLBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PerconaServerMySQLBackup `json:"items"` }
PerconaServerMySQLBackupList contains a list of PerconaServerMySQLBackup
func (*PerconaServerMySQLBackupList) DeepCopy ¶
func (in *PerconaServerMySQLBackupList) DeepCopy() *PerconaServerMySQLBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLBackupList.
func (*PerconaServerMySQLBackupList) DeepCopyInto ¶
func (in *PerconaServerMySQLBackupList) DeepCopyInto(out *PerconaServerMySQLBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaServerMySQLBackupList) DeepCopyObject ¶
func (in *PerconaServerMySQLBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PerconaServerMySQLBackupSpec ¶
type PerconaServerMySQLBackupSpec struct { ClusterName string `json:"clusterName"` StorageName string `json:"storageName"` SourcePod string `json:"sourcePod,omitempty"` ContainerOptions *BackupContainerOptions `json:"containerOptions,omitempty"` }
PerconaServerMySQLBackupSpec defines the desired state of PerconaServerMySQLBackup
func (*PerconaServerMySQLBackupSpec) DeepCopy ¶
func (in *PerconaServerMySQLBackupSpec) DeepCopy() *PerconaServerMySQLBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLBackupSpec.
func (*PerconaServerMySQLBackupSpec) DeepCopyInto ¶
func (in *PerconaServerMySQLBackupSpec) DeepCopyInto(out *PerconaServerMySQLBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PerconaServerMySQLBackupStatus ¶
type PerconaServerMySQLBackupStatus struct { State BackupState `json:"state,omitempty"` StateDesc string `json:"stateDescription,omitempty"` Destination BackupDestination `json:"destination,omitempty"` Storage *BackupStorageSpec `json:"storage,omitempty"` CompletedAt *metav1.Time `json:"completed,omitempty"` Image string `json:"image,omitempty"` BackupSource string `json:"backupSource,omitempty"` }
PerconaServerMySQLBackupStatus defines the observed state of PerconaServerMySQLBackup
func (*PerconaServerMySQLBackupStatus) DeepCopy ¶
func (in *PerconaServerMySQLBackupStatus) DeepCopy() *PerconaServerMySQLBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLBackupStatus.
func (*PerconaServerMySQLBackupStatus) DeepCopyInto ¶
func (in *PerconaServerMySQLBackupStatus) DeepCopyInto(out *PerconaServerMySQLBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PerconaServerMySQLList ¶
type PerconaServerMySQLList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PerconaServerMySQL `json:"items"` }
PerconaServerMySQLList contains a list of PerconaServerMySQL
func (*PerconaServerMySQLList) DeepCopy ¶
func (in *PerconaServerMySQLList) DeepCopy() *PerconaServerMySQLList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLList.
func (*PerconaServerMySQLList) DeepCopyInto ¶
func (in *PerconaServerMySQLList) DeepCopyInto(out *PerconaServerMySQLList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaServerMySQLList) DeepCopyObject ¶
func (in *PerconaServerMySQLList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PerconaServerMySQLRestore ¶
type PerconaServerMySQLRestore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PerconaServerMySQLRestoreSpec `json:"spec,omitempty"` Status PerconaServerMySQLRestoreStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:shortName=ps-restore +kubebuilder:printcolumn:name="State",type=string,JSONPath=".status.state" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" PerconaServerMySQLRestore is the Schema for the perconaservermysqlrestores API
func (*PerconaServerMySQLRestore) DeepCopy ¶
func (in *PerconaServerMySQLRestore) DeepCopy() *PerconaServerMySQLRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLRestore.
func (*PerconaServerMySQLRestore) DeepCopyInto ¶
func (in *PerconaServerMySQLRestore) DeepCopyInto(out *PerconaServerMySQLRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaServerMySQLRestore) DeepCopyObject ¶
func (in *PerconaServerMySQLRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PerconaServerMySQLRestoreList ¶
type PerconaServerMySQLRestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PerconaServerMySQLRestore `json:"items"` }
PerconaServerMySQLRestoreList contains a list of PerconaServerMySQLRestore
func (*PerconaServerMySQLRestoreList) DeepCopy ¶
func (in *PerconaServerMySQLRestoreList) DeepCopy() *PerconaServerMySQLRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLRestoreList.
func (*PerconaServerMySQLRestoreList) DeepCopyInto ¶
func (in *PerconaServerMySQLRestoreList) DeepCopyInto(out *PerconaServerMySQLRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaServerMySQLRestoreList) DeepCopyObject ¶
func (in *PerconaServerMySQLRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PerconaServerMySQLRestoreSpec ¶
type PerconaServerMySQLRestoreSpec struct { ClusterName string `json:"clusterName"` BackupName string `json:"backupName,omitempty"` BackupSource *PerconaServerMySQLBackupStatus `json:"backupSource,omitempty"` ContainerOptions *BackupContainerOptions `json:"containerOptions,omitempty"` }
PerconaServerMySQLRestoreSpec defines the desired state of PerconaServerMySQLRestore
func (*PerconaServerMySQLRestoreSpec) DeepCopy ¶
func (in *PerconaServerMySQLRestoreSpec) DeepCopy() *PerconaServerMySQLRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLRestoreSpec.
func (*PerconaServerMySQLRestoreSpec) DeepCopyInto ¶
func (in *PerconaServerMySQLRestoreSpec) DeepCopyInto(out *PerconaServerMySQLRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PerconaServerMySQLRestoreStatus ¶
type PerconaServerMySQLRestoreStatus struct { State RestoreState `json:"state,omitempty"` StateDesc string `json:"stateDescription,omitempty"` CompletedAt *metav1.Time `json:"completed,omitempty"` }
PerconaServerMySQLRestoreStatus defines the observed state of PerconaServerMySQLRestore
func (*PerconaServerMySQLRestoreStatus) DeepCopy ¶
func (in *PerconaServerMySQLRestoreStatus) DeepCopy() *PerconaServerMySQLRestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLRestoreStatus.
func (*PerconaServerMySQLRestoreStatus) DeepCopyInto ¶
func (in *PerconaServerMySQLRestoreStatus) DeepCopyInto(out *PerconaServerMySQLRestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PerconaServerMySQLSpec ¶
type PerconaServerMySQLSpec struct { Metadata *Metadata `json:"metadata,omitempty"` CRVersion string `json:"crVersion,omitempty"` Pause bool `json:"pause,omitempty"` VolumeExpansionEnabled bool `json:"enableVolumeExpansion,omitempty"` SecretsName string `json:"secretsName,omitempty"` SSLSecretName string `json:"sslSecretName,omitempty"` Unsafe UnsafeFlags `json:"unsafeFlags,omitempty"` IgnoreAnnotations []string `json:"ignoreAnnotations,omitempty"` IgnoreLabels []string `json:"ignoreLabels,omitempty"` MySQL MySQLSpec `json:"mysql,omitempty"` Orchestrator OrchestratorSpec `json:"orchestrator,omitempty"` PMM *PMMSpec `json:"pmm,omitempty"` Backup *BackupSpec `json:"backup,omitempty"` Proxy ProxySpec `json:"proxy,omitempty"` TLS *TLSSpec `json:"tls,omitempty"` Toolkit *ToolkitSpec `json:"toolkit,omitempty"` UpgradeOptions UpgradeOptions `json:"upgradeOptions,omitempty"` UpdateStrategy appsv1.StatefulSetUpdateStrategyType `json:"updateStrategy,omitempty"` // Deprecated: not supported since v0.12.0. Use initContainer instead InitImage string `json:"initImage,omitempty"` InitContainer InitContainerSpec `json:"initContainer,omitempty"` }
PerconaServerMySQLSpec defines the desired state of PerconaServerMySQL +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'async') || self.unsafeFlags.orchestrator || self.orchestrator.enabled",message="Invalid configuration: When 'mysql.clusterType' is set to 'async', 'orchestrator.enabled' must be true unless 'unsafeFlags.orchestrator' is enabled" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'async') || self.unsafeFlags.proxy || self.proxy.haproxy.enabled",message="Invalid configuration: When 'mysql.clusterType' is set to 'async', 'proxy.haproxy.enabled' must be true unless 'unsafeFlags.proxy' is enabled" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'async') || self.proxy.router == null || !has(self.proxy.router.enabled) || !self.proxy.router.enabled",message="Invalid configuration: When 'mysql.clusterType' is set to 'async', 'proxy.router.enabled' must be disabled" +kubebuilder:validation:XValidation:rule="!(has(self.mysql.size) && self.mysql.size < 3) || self.unsafeFlags.mysqlSize",message="Invalid configuration: Scaling MySQL replicas below 3 requires 'unsafeFlags.mysqlSize: true'" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'group-replication' && has(self.mysql.size) && self.mysql.size >= 9) || self.unsafeFlags.mysqlSize",message="Invalid configuration: For 'group replication', scaling MySQL replicas above 9 requires 'unsafeFlags.mysqlSize: true'" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'group-replication' && has(self.mysql.size) && self.mysql.size % 2 == 0) || self.unsafeFlags.mysqlSize",message="Invalid configuration: For 'group replication', using an even number of MySQL replicas requires 'unsafeFlags.mysqlSize: true'" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'group-replication') || self.unsafeFlags.proxy || self.proxy.router.enabled || self.proxy.haproxy.enabled",message="Invalid configuration: For 'group replication', MySQL Router or HAProxy must be enabled unless 'unsafeFlags.proxy' is enabled" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'group-replication' && self.proxy.router.enabled && has(self.proxy.router.size) && self.proxy.router.size < 2) || self.unsafeFlags.proxySize",message="Invalid configuration: For 'group replication', Router size must be 2 or greater unless 'unsafeFlags.proxySize' is enabled" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'group-replication' && has(self.mysql.size) && self.mysql.size < 3) || self.unsafeFlags.mysqlSize",message="Invalid configuration: For 'group replication', MySQL size must be 3 or greater unless 'unsafeFlags.mysqlSize' is enabled" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'async' && has(self.orchestrator.size) && (self.orchestrator.size < 3 || self.orchestrator.size % 2 == 0) && self.orchestrator.size > 0) || self.unsafeFlags.orchestratorSize",message="Invalid configuration: For 'async' replication, Orchestrator size must be 3 or greater and odd unless 'unsafeFlags.orchestratorSize' is enabled" +kubebuilder:validation:XValidation:rule="!(self.mysql.clusterType == 'async' && self.updateStrategy == 'SmartUpdate') || self.orchestrator.enabled",message="Invalid configuration: For 'async' replication, SmartUpdate requires Orchestrator to be enabled"
func (*PerconaServerMySQLSpec) DeepCopy ¶
func (in *PerconaServerMySQLSpec) DeepCopy() *PerconaServerMySQLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLSpec.
func (*PerconaServerMySQLSpec) DeepCopyInto ¶
func (in *PerconaServerMySQLSpec) DeepCopyInto(out *PerconaServerMySQLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PerconaServerMySQLStatus ¶
type PerconaServerMySQLStatus struct { // Important: Run "make" to regenerate code after modifying this file MySQL StatefulAppStatus `json:"mysql,omitempty"` Orchestrator StatefulAppStatus `json:"orchestrator,omitempty"` HAProxy StatefulAppStatus `json:"haproxy,omitempty"` Router StatefulAppStatus `json:"router,omitempty"` State StatefulAppState `json:"state,omitempty"` BackupVersion string `json:"backupVersion,omitempty"` PMMVersion string `json:"pmmVersion,omitempty"` ToolkitVersion string `json:"toolkitVersion,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty"` // +optional Host string `json:"host"` }
PerconaServerMySQLStatus defines the observed state of PerconaServerMySQL
func (*PerconaServerMySQLStatus) CompareMySQLVersion ¶
func (s *PerconaServerMySQLStatus) CompareMySQLVersion(ver string) int
func (*PerconaServerMySQLStatus) DeepCopy ¶
func (in *PerconaServerMySQLStatus) DeepCopy() *PerconaServerMySQLStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaServerMySQLStatus.
func (*PerconaServerMySQLStatus) DeepCopyInto ¶
func (in *PerconaServerMySQLStatus) DeepCopyInto(out *PerconaServerMySQLStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PiTRSpec ¶
type PiTRSpec struct { Enabled bool `json:"enabled,omitempty"` BinlogServer *BinlogServerSpec `json:"binlogServer,omitempty"` }
func (*PiTRSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PiTRSpec.
func (*PiTRSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodAffinity ¶
type PodAffinity struct { TopologyKey *string `json:"antiAffinityTopologyKey,omitempty"` Advanced *corev1.Affinity `json:"advanced,omitempty"` }
func (*PodAffinity) DeepCopy ¶
func (in *PodAffinity) DeepCopy() *PodAffinity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodAffinity.
func (*PodAffinity) DeepCopyInto ¶
func (in *PodAffinity) DeepCopyInto(out *PodAffinity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodDisruptionBudgetSpec ¶
type PodDisruptionBudgetSpec struct { MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty"` }
func (*PodDisruptionBudgetSpec) DeepCopy ¶
func (in *PodDisruptionBudgetSpec) DeepCopy() *PodDisruptionBudgetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodDisruptionBudgetSpec.
func (*PodDisruptionBudgetSpec) DeepCopyInto ¶
func (in *PodDisruptionBudgetSpec) DeepCopyInto(out *PodDisruptionBudgetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSpec ¶
type PodSpec struct { // +kubebuilder:validation:Required Size int32 `json:"size,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` Labels map[string]string `json:"labels,omitempty"` VolumeSpec *VolumeSpec `json:"volumeSpec,omitempty"` // Deprecated: not supported since v0.12.0. Use initContainer instead InitImage string `json:"initImage,omitempty"` InitContainer *InitContainerSpec `json:"initContainer,omitempty"` Affinity *PodAffinity `json:"affinity,omitempty"` TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` PriorityClassName string `json:"priorityClassName,omitempty"` TerminationGracePeriodSeconds *int64 `json:"gracePeriod,omitempty"` SchedulerName string `json:"schedulerName,omitempty"` RuntimeClassName *string `json:"runtimeClassName,omitempty"` PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` ServiceAccountName string `json:"serviceAccountName,omitempty"` PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"` Configuration string `json:"configuration,omitempty"` ContainerSpec `json:",inline"` }
func (*PodSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSpec.
func (*PodSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodSpec) GetAffinity ¶
GetAffinity derives an Affinity configuration based on the provided PodSpec's affinity settings and labels.
func (*PodSpec) GetInitSpec ¶
func (s *PodSpec) GetInitSpec(cr *PerconaServerMySQL) InitContainerSpec
func (PodSpec) GetTerminationGracePeriodSeconds ¶
GetTerminationGracePeriodSeconds returns the configured termination grace period for the Pod. If not explicitly set, it returns the default grace period.
func (*PodSpec) GetTopologySpreadConstraints ¶
func (p *PodSpec) GetTopologySpreadConstraints(selector map[string]string) []corev1.TopologySpreadConstraint
type ProxySpec ¶
type ProxySpec struct { Router *MySQLRouterSpec `json:"router,omitempty"` HAProxy *HAProxySpec `json:"haproxy,omitempty"` }
func (*ProxySpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySpec.
func (*ProxySpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreState ¶
type RestoreState string
const ( RestoreNew RestoreState = "" RestoreStarting RestoreState = "Starting" RestoreRunning RestoreState = "Running" RestoreFailed RestoreState = "Failed" RestoreError RestoreState = "Error" RestoreSucceeded RestoreState = "Succeeded" )
type ServiceExpose ¶
type ServiceExpose struct { Type corev1.ServiceType `json:"type,omitempty"` LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` Labels map[string]string `json:"labels,omitempty"` InternalTrafficPolicy *corev1.ServiceInternalTrafficPolicyType `json:"internalTrafficPolicy,omitempty"` ExternalTrafficPolicy corev1.ServiceExternalTrafficPolicyType `json:"externalTrafficPolicy,omitempty"` }
func (*ServiceExpose) DeepCopy ¶
func (in *ServiceExpose) DeepCopy() *ServiceExpose
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceExpose.
func (*ServiceExpose) DeepCopyInto ¶
func (in *ServiceExpose) DeepCopyInto(out *ServiceExpose)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceExpose) SaveOldMeta ¶
func (e *ServiceExpose) SaveOldMeta() bool
SaveOldMeta determines if both annotations and labels of the service expose are empty.
type ServiceExposeTogglable ¶
type ServiceExposeTogglable struct { Enabled bool `json:"enabled,omitempty"` ServiceExpose `json:",inline"` }
func (*ServiceExposeTogglable) DeepCopy ¶
func (in *ServiceExposeTogglable) DeepCopy() *ServiceExposeTogglable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceExposeTogglable.
func (*ServiceExposeTogglable) DeepCopyInto ¶
func (in *ServiceExposeTogglable) DeepCopyInto(out *ServiceExposeTogglable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SidecarPVC ¶
type SidecarPVC struct { Name string `json:"name"` Spec corev1.PersistentVolumeClaimSpec `json:"spec"` }
func (*SidecarPVC) DeepCopy ¶
func (in *SidecarPVC) DeepCopy() *SidecarPVC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SidecarPVC.
func (*SidecarPVC) DeepCopyInto ¶
func (in *SidecarPVC) DeepCopyInto(out *SidecarPVC)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatefulAppState ¶
type StatefulAppState string
const ( StateInitializing StatefulAppState = "initializing" StateStopping StatefulAppState = "stopping" StatePaused StatefulAppState = "paused" StateReady StatefulAppState = "ready" StateError StatefulAppState = "error" )
func (StatefulAppState) String ¶
func (s StatefulAppState) String() string
type StatefulAppStatus ¶
type StatefulAppStatus struct { Size int32 `json:"size,omitempty"` Ready int32 `json:"ready,omitempty"` State StatefulAppState `json:"state,omitempty"` Version string `json:"version,omitempty"` ImageID string `json:"imageID,omitempty"` }
func (*StatefulAppStatus) DeepCopy ¶
func (in *StatefulAppStatus) DeepCopy() *StatefulAppStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulAppStatus.
func (*StatefulAppStatus) DeepCopyInto ¶
func (in *StatefulAppStatus) DeepCopyInto(out *StatefulAppStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemUser ¶
type SystemUser string
const ( UserHeartbeat SystemUser = "heartbeat" UserMonitor SystemUser = "monitor" UserOperator SystemUser = "operator" UserOrchestrator SystemUser = "orchestrator" UserPMMServerToken SystemUser = "pmmservertoken" UserReplication SystemUser = "replication" UserRoot SystemUser = "root" UserXtraBackup SystemUser = "xtrabackup" )
type TLSSpec ¶
type TLSSpec struct { SANs []string `json:"SANs,omitempty"` IssuerConf *cmmeta.ObjectReference `json:"issuerConf,omitempty"` }
func (*TLSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
func (*TLSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ToolkitSpec ¶
type ToolkitSpec struct {
ContainerSpec `json:",inline"`
}
func (*ToolkitSpec) DeepCopy ¶
func (in *ToolkitSpec) DeepCopy() *ToolkitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolkitSpec.
func (*ToolkitSpec) DeepCopyInto ¶
func (in *ToolkitSpec) DeepCopyInto(out *ToolkitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UnsafeFlags ¶
type UnsafeFlags struct { // MySQLSize allows to set MySQL size to a value less than the minimum safe size or higher than the maximum safe size. MySQLSize bool `json:"mysqlSize,omitempty"` // Proxy allows to disable proxy. Proxy bool `json:"proxy,omitempty"` // ProxySize allows to set proxy (HAProxy / Router) size to a value less than the minimum safe size. ProxySize bool `json:"proxySize,omitempty"` // Orchestrator allows to disable Orchestrator. Orchestrator bool `json:"orchestrator,omitempty"` // OrchestratorSize allows to set Orchestrator size to a value less than the minimum safe size. OrchestratorSize bool `json:"orchestratorSize,omitempty"` }
func (*UnsafeFlags) DeepCopy ¶
func (in *UnsafeFlags) DeepCopy() *UnsafeFlags
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnsafeFlags.
func (*UnsafeFlags) DeepCopyInto ¶
func (in *UnsafeFlags) DeepCopyInto(out *UnsafeFlags)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradeOptions ¶
type UpgradeOptions struct { VersionServiceEndpoint string `json:"versionServiceEndpoint,omitempty"` Apply string `json:"apply,omitempty"` }
func (*UpgradeOptions) DeepCopy ¶
func (in *UpgradeOptions) DeepCopy() *UpgradeOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeOptions.
func (*UpgradeOptions) DeepCopyInto ¶
func (in *UpgradeOptions) DeepCopyInto(out *UpgradeOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeSpec ¶
type VolumeSpec struct { // EmptyDir to use as data volume for mysql. EmptyDir represents a temporary // directory that shares a pod's lifetime. // +optional EmptyDir *corev1.EmptyDirVolumeSource `json:"emptyDir,omitempty"` // HostPath to use as data volume for mysql. HostPath represents a // pre-existing file or directory on the host machine that is directly // exposed to the container. // +optional HostPath *corev1.HostPathVolumeSource `json:"hostPath,omitempty"` // PersistentVolumeClaim to specify PVC spec for the volume for mysql data. // It has the highest level of precedence, followed by HostPath and // EmptyDir. And represents the PVC specification. // +optional PersistentVolumeClaim *corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaim,omitempty"` }
func (*VolumeSpec) DeepCopy ¶
func (in *VolumeSpec) DeepCopy() *VolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.
func (*VolumeSpec) DeepCopyInto ¶
func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.