v1

package
v1.14.0 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2024 License: Apache-2.0 Imports: 25 Imported by: 17

Documentation

Overview

Package v1 contains API Schema definitions for the pxc v1 API group +k8s:deepcopy-gen=package,register +groupName=pxc.percona.com

Package v1 contains API Schema definitions for the pxc v1 API group +k8s:deepcopy-gen=package,register +groupName=pxc.percona.com

Index

Constants

View Source
const (
	UpgradeStrategyDisabled       = "disabled"
	UpgradeStrategyNever          = "never"
	DefaultVersionServiceEndpoint = "https://check.percona.com"
)
View Source
const (
	AzureBlobStoragePrefix string = "azure://"
	AwsBlobStoragePrefix   string = "s3://"
	PVCStoragePrefix       string = "pvc/"
)
View Source
const AffinityTopologyKeyOff = "none"
View Source
const AnnotationPVCResizeInProgress = "percona.com/pvc-resize-in-progress"
View Source
const AnnotationUnsafePITR = "percona.com/unsafe-pitr"
View Source
const (
	BackupConditionPITRReady = "PITRReady"
)
View Source
const (
	FinalizerDeleteS3Backup string = "delete-s3-backup" // TODO: rename to a more appropriate name like `delete-backup`
)
View Source
const (
	SmartUpdateStatefulSetStrategyType appsv1.StatefulSetUpdateStrategyType = "SmartUpdate"
)
View Source
const WorkloadSA = "default"

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "pxc.percona.com", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var DefaultAffinityTopologyKey = "kubernetes.io/hostname"
View Source
var NoCustomVolumeErr = errors.New("no custom volume found")

Functions

func AddSidecarContainers added in v1.8.0

func AddSidecarContainers(log logr.Logger, existing, sidecars []corev1.Container) []corev1.Container

func AddSidecarPVCs added in v1.10.0

func AddSidecarPVCs(log logr.Logger, existing, sidecarPVCs []corev1.PersistentVolumeClaim) []corev1.PersistentVolumeClaim

func AddSidecarVolumes added in v1.10.0

func AddSidecarVolumes(log logr.Logger, existing, sidecarVolumes []corev1.Volume) []corev1.Volume

func ContainsVolume added in v1.9.0

func ContainsVolume(vs []corev1.Volume, name string) bool

func GetDefaultVersionServiceEndpoint added in v1.12.0

func GetDefaultVersionServiceEndpoint() string

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

Types

type App

type App interface {
	AppContainer(spec *PodSpec, secrets string, cr *PerconaXtraDBCluster, availableVolumes []corev1.Volume) (corev1.Container, error)
	SidecarContainers(spec *PodSpec, secrets string, cr *PerconaXtraDBCluster) ([]corev1.Container, error)
	PMMContainer(ctx context.Context, cl client.Client, spec *PMMSpec, secret *corev1.Secret, cr *PerconaXtraDBCluster) (*corev1.Container, error)
	LogCollectorContainer(spec *LogCollectorSpec, logPsecrets string, logRsecrets string, cr *PerconaXtraDBCluster) ([]corev1.Container, error)
	Volumes(podSpec *PodSpec, cr *PerconaXtraDBCluster, vg CustomVolumeGetter) (*Volume, error)
	Labels() map[string]string
}

+kubebuilder:object:generate=false

type AppState

type AppState string
const (
	AppStateUnknown  AppState = "unknown"
	AppStateInit     AppState = "initializing"
	AppStatePaused   AppState = "paused"
	AppStateStopping AppState = "stopping"
	AppStateReady    AppState = "ready"
	AppStateError    AppState = "error"
)

type AppStatus

type AppStatus struct {
	ComponentStatus `json:",inline"`

	Size  int32 `json:"size,omitempty"`
	Ready int32 `json:"ready,omitempty"`
}

func (*AppStatus) DeepCopy

func (in *AppStatus) DeepCopy() *AppStatus

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

func (*AppStatus) DeepCopyInto

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

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

type BackupContainerArgs added in v1.14.0

type BackupContainerArgs struct {
	Xtrabackup []string `json:"xtrabackup,omitempty"`
	Xbcloud    []string `json:"xbcloud,omitempty"`
	Xbstream   []string `json:"xbstream,omitempty"`
}

func (*BackupContainerArgs) DeepCopy added in v1.14.0

func (in *BackupContainerArgs) DeepCopy() *BackupContainerArgs

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

func (*BackupContainerArgs) DeepCopyInto added in v1.14.0

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 added in v1.14.0

func (b *BackupContainerArgs) Env() []corev1.EnvVar

type BackupContainerOptions added in v1.14.0

type BackupContainerOptions struct {
	Env  []corev1.EnvVar     `json:"env,omitempty"`
	Args BackupContainerArgs `json:"args,omitempty"`
}

func (*BackupContainerOptions) DeepCopy added in v1.14.0

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

func (*BackupContainerOptions) DeepCopyInto added in v1.14.0

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 added in v1.14.0

func (b *BackupContainerOptions) GetEnv() []corev1.EnvVar

func (*BackupContainerOptions) GetEnvVar added in v1.14.0

func (b *BackupContainerOptions) GetEnvVar(cluster *PerconaXtraDBCluster, storageName string) []corev1.EnvVar

type BackupStorageAzureSpec added in v1.12.0

type BackupStorageAzureSpec struct {
	CredentialsSecret string `json:"credentialsSecret"`
	ContainerPath     string `json:"container"`
	Endpoint          string `json:"endpointUrl"`
	StorageClass      string `json:"storageClass"`
}

func (*BackupStorageAzureSpec) ContainerAndPrefix added in v1.12.0

func (b *BackupStorageAzureSpec) ContainerAndPrefix() (string, string)

ContainerAndPrefix returns container name and backup prefix from ContainerPath. BackupStorageAzureSpec.ContainerPath can contain backup path in format `<container-name>/<backup-prefix>`.

func (*BackupStorageAzureSpec) DeepCopy added in v1.12.0

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

func (*BackupStorageAzureSpec) DeepCopyInto added in v1.12.0

func (in *BackupStorageAzureSpec) DeepCopyInto(out *BackupStorageAzureSpec)

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

type BackupStorageS3Spec

type BackupStorageS3Spec struct {
	Bucket            string `json:"bucket"`
	CredentialsSecret string `json:"credentialsSecret"`
	Region            string `json:"region,omitempty"`
	EndpointURL       string `json:"endpointUrl,omitempty"`
}

func (*BackupStorageS3Spec) BucketAndPrefix added in v1.14.0

func (b *BackupStorageS3Spec) BucketAndPrefix() (string, string)

BucketAndPrefix returns bucket name and backup prefix from Bucket. 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"`
	S3                        *BackupStorageS3Spec              `json:"s3,omitempty"`
	Azure                     *BackupStorageAzureSpec           `json:"azure,omitempty"`
	Volume                    *VolumeSpec                       `json:"volume,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 (
	BackupStorageFilesystem BackupStorageType = "filesystem"
	BackupStorageS3         BackupStorageType = "s3"
	BackupStorageAzure      BackupStorageType = "azure"
)

type BcpRestoreStates

type BcpRestoreStates string
const (
	RestoreNew          BcpRestoreStates = ""
	RestoreStarting     BcpRestoreStates = "Starting"
	RestoreStopCluster  BcpRestoreStates = "Stopping Cluster"
	RestoreRestore      BcpRestoreStates = "Restoring"
	RestoreStartCluster BcpRestoreStates = "Starting Cluster"
	RestorePITR         BcpRestoreStates = "Point-in-time recovering"
	RestoreFailed       BcpRestoreStates = "Failed"
	RestoreSucceeded    BcpRestoreStates = "Succeeded"
)

type ClusterCondition

type ClusterCondition struct {
	Status             ConditionStatus `json:"status,omitempty"`
	Type               AppState        `json:"type,omitempty"`
	LastTransitionTime metav1.Time     `json:"lastTransitionTime,omitempty"`
	Reason             string          `json:"reason,omitempty"`
	Message            string          `json:"message,omitempty"`
}

func (*ClusterCondition) DeepCopy added in v1.2.0

func (in *ClusterCondition) DeepCopy() *ClusterCondition

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

func (*ClusterCondition) DeepCopyInto added in v1.2.0

func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)

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

type ComponentStatus added in v1.9.0

type ComponentStatus struct {
	Status            AppState `json:"status,omitempty"`
	Message           string   `json:"message,omitempty"`
	Version           string   `json:"version,omitempty"`
	Image             string   `json:"image,omitempty"`
	LabelSelectorPath string   `json:"labelSelectorPath,omitempty"`
}

func (*ComponentStatus) DeepCopy added in v1.10.0

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto added in v1.10.0

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type ConditionStatus

type ConditionStatus string
const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

type CustomVolumeGetter added in v1.9.0

type CustomVolumeGetter func(nsName, cvName, cmName string, useDefaultVolume bool) (corev1.Volume, error)

+kubebuilder:object:generate=false

type HAProxySpec added in v1.10.0

type HAProxySpec struct {
	PodSpec        `json:",inline"`
	ExposePrimary  ServiceExpose  `json:"exposePrimary,omitempty"`
	ExposeReplicas *ServiceExpose `json:"exposeReplicas,omitempty"`

	// Deprecated: Use ExposeReplica.Enabled instead
	ReplicasServiceEnabled *bool `json:"replicasServiceEnabled,omitempty"`
	// Deprecated: Use ExposeReplica.LoadBalancerSourceRanges instead
	ReplicasLoadBalancerSourceRanges []string `json:"replicasLoadBalancerSourceRanges,omitempty"`
	// Deprecated: Use ExposeReplica.LoadBalancerIP instead
	ReplicasLoadBalancerIP string `json:"replicasLoadBalancerIP,omitempty"`
}

func (*HAProxySpec) DeepCopy added in v1.10.0

func (in *HAProxySpec) DeepCopy() *HAProxySpec

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

func (*HAProxySpec) DeepCopyInto added in v1.10.0

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 added in v1.14.0

type InitContainerSpec struct {
	Image     string                       `json:"image,omitempty"`
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*InitContainerSpec) DeepCopy added in v1.14.0

func (in *InitContainerSpec) DeepCopy() *InitContainerSpec

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

func (*InitContainerSpec) DeepCopyInto added in v1.14.0

func (in *InitContainerSpec) DeepCopyInto(out *InitContainerSpec)

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

type LogCollectorSpec added in v1.7.0

type LogCollectorSpec struct {
	Enabled                  bool                        `json:"enabled,omitempty"`
	Image                    string                      `json:"image,omitempty"`
	Resources                corev1.ResourceRequirements `json:"resources,omitempty"`
	Configuration            string                      `json:"configuration,omitempty"`
	ContainerSecurityContext *corev1.SecurityContext     `json:"containerSecurityContext,omitempty"`
	ImagePullPolicy          corev1.PullPolicy           `json:"imagePullPolicy,omitempty"`
	RuntimeClassName         *string                     `json:"runtimeClassName,omitempty"`
	HookScript               string                      `json:"hookScript,omitempty"`
}

func (*LogCollectorSpec) DeepCopy added in v1.7.0

func (in *LogCollectorSpec) DeepCopy() *LogCollectorSpec

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

func (*LogCollectorSpec) DeepCopyInto added in v1.7.0

func (in *LogCollectorSpec) DeepCopyInto(out *LogCollectorSpec)

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

type PITR added in v1.7.0

type PITR struct {
	BackupSource *PXCBackupStatus `json:"backupSource"`
	Type         string           `json:"type"`
	Date         string           `json:"date"`
	GTID         string           `json:"gtid"`
}

func (*PITR) DeepCopy added in v1.7.0

func (in *PITR) DeepCopy() *PITR

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

func (*PITR) DeepCopyInto added in v1.7.0

func (in *PITR) DeepCopyInto(out *PITR)

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

type PITRSpec added in v1.7.0

type PITRSpec struct {
	Enabled            bool                        `json:"enabled"`
	StorageName        string                      `json:"storageName"`
	Resources          corev1.ResourceRequirements `json:"resources,omitempty"`
	TimeBetweenUploads float64                     `json:"timeBetweenUploads,omitempty"`
	TimeoutSeconds     float64                     `json:"timeoutSeconds,omitempty"`
}

func (*PITRSpec) DeepCopy added in v1.7.0

func (in *PITRSpec) DeepCopy() *PITRSpec

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

func (*PITRSpec) DeepCopyInto added in v1.7.0

func (in *PITRSpec) DeepCopyInto(out *PITRSpec)

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"`
	ServerHost               string                      `json:"serverHost,omitempty"`
	Image                    string                      `json:"image,omitempty"`
	ServerUser               string                      `json:"serverUser,omitempty"`
	PxcParams                string                      `json:"pxcParams,omitempty"`
	ProxysqlParams           string                      `json:"proxysqlParams,omitempty"`
	Resources                corev1.ResourceRequirements `json:"resources,omitempty"`
	ContainerSecurityContext *corev1.SecurityContext     `json:"containerSecurityContext,omitempty"`
	ImagePullPolicy          corev1.PullPolicy           `json:"imagePullPolicy,omitempty"`
	RuntimeClassName         *string                     `json:"runtimeClassName,omitempty"`
}

func (*PMMSpec) DeepCopy

func (in *PMMSpec) DeepCopy() *PMMSpec

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

func (*PMMSpec) DeepCopyInto

func (in *PMMSpec) DeepCopyInto(out *PMMSpec)

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

func (*PMMSpec) HasSecret added in v1.12.0

func (spec *PMMSpec) HasSecret(secret *corev1.Secret) bool

func (*PMMSpec) IsEnabled added in v1.12.0

func (spec *PMMSpec) IsEnabled(secret *corev1.Secret) bool

func (*PMMSpec) UseAPI added in v1.11.0

func (spec *PMMSpec) UseAPI(secret *corev1.Secret) bool

type PXCBackupDestination added in v1.14.0

type PXCBackupDestination string

func (*PXCBackupDestination) BackupName added in v1.14.0

func (dest *PXCBackupDestination) BackupName() string

func (*PXCBackupDestination) BucketAndPrefix added in v1.14.0

func (dest *PXCBackupDestination) BucketAndPrefix() (string, string)

func (*PXCBackupDestination) SetAzureDestination added in v1.14.0

func (dest *PXCBackupDestination) SetAzureDestination(container, backupName string)

func (*PXCBackupDestination) SetPVCDestination added in v1.14.0

func (dest *PXCBackupDestination) SetPVCDestination(backupName string)

func (*PXCBackupDestination) SetS3Destination added in v1.14.0

func (dest *PXCBackupDestination) SetS3Destination(bucket, backupName string)

func (*PXCBackupDestination) StorageTypePrefix added in v1.14.0

func (dest *PXCBackupDestination) StorageTypePrefix() string

func (*PXCBackupDestination) String added in v1.14.0

func (dest *PXCBackupDestination) String() string

type PXCBackupSpec

type PXCBackupSpec struct {
	PXCCluster       string                  `json:"pxcCluster"`
	StorageName      string                  `json:"storageName,omitempty"`
	ContainerOptions *BackupContainerOptions `json:"containerOptions,omitempty"`
}

func (*PXCBackupSpec) DeepCopy

func (in *PXCBackupSpec) DeepCopy() *PXCBackupSpec

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

func (*PXCBackupSpec) DeepCopyInto

func (in *PXCBackupSpec) DeepCopyInto(out *PXCBackupSpec)

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

type PXCBackupState

type PXCBackupState string
const (
	BackupNew       PXCBackupState = ""
	BackupStarting  PXCBackupState = "Starting"
	BackupRunning   PXCBackupState = "Running"
	BackupFailed    PXCBackupState = "Failed"
	BackupSucceeded PXCBackupState = "Succeeded"
)

type PXCBackupStatus

type PXCBackupStatus struct {
	State                 PXCBackupState          `json:"state,omitempty"`
	CompletedAt           *metav1.Time            `json:"completed,omitempty"`
	LastScheduled         *metav1.Time            `json:"lastscheduled,omitempty"`
	Destination           PXCBackupDestination    `json:"destination,omitempty"`
	StorageName           string                  `json:"storageName,omitempty"`
	S3                    *BackupStorageS3Spec    `json:"s3,omitempty"`
	Azure                 *BackupStorageAzureSpec `json:"azure,omitempty"`
	StorageType           BackupStorageType       `json:"storage_type"`
	Image                 string                  `json:"image,omitempty"`
	SSLSecretName         string                  `json:"sslSecretName,omitempty"`
	SSLInternalSecretName string                  `json:"sslInternalSecretName,omitempty"`
	VaultSecretName       string                  `json:"vaultSecretName,omitempty"`
	Conditions            []metav1.Condition      `json:"conditions,omitempty"`
	VerifyTLS             *bool                   `json:"verifyTLS,omitempty"`
	LatestRestorableTime  *metav1.Time            `json:"latestRestorableTime,omitempty"`
}

func (*PXCBackupStatus) DeepCopy

func (in *PXCBackupStatus) DeepCopy() *PXCBackupStatus

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

func (*PXCBackupStatus) DeepCopyInto

func (in *PXCBackupStatus) DeepCopyInto(out *PXCBackupStatus)

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

func (*PXCBackupStatus) GetStorageType added in v1.14.0

func (status *PXCBackupStatus) GetStorageType(cluster *PerconaXtraDBCluster) BackupStorageType

type PXCScheduledBackup

type PXCScheduledBackup struct {
	AllowParallel      *bool                         `json:"allowParallel,omitempty"`
	Image              string                        `json:"image,omitempty"`
	ImagePullSecrets   []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	ImagePullPolicy    corev1.PullPolicy             `json:"imagePullPolicy,omitempty"`
	Schedule           []PXCScheduledBackupSchedule  `json:"schedule,omitempty"`
	Storages           map[string]*BackupStorageSpec `json:"storages,omitempty"`
	ServiceAccountName string                        `json:"serviceAccountName,omitempty"`
	Annotations        map[string]string             `json:"annotations,omitempty"`
	PITR               PITRSpec                      `json:"pitr,omitempty"`
	BackoffLimit       *int32                        `json:"backoffLimit,omitempty"`
}

func (*PXCScheduledBackup) DeepCopy

func (in *PXCScheduledBackup) DeepCopy() *PXCScheduledBackup

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

func (*PXCScheduledBackup) DeepCopyInto

func (in *PXCScheduledBackup) DeepCopyInto(out *PXCScheduledBackup)

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

func (*PXCScheduledBackup) GetAllowParallel added in v1.13.0

func (b *PXCScheduledBackup) GetAllowParallel() bool

type PXCScheduledBackupSchedule

type PXCScheduledBackupSchedule 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 (*PXCScheduledBackupSchedule) DeepCopy

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

func (*PXCScheduledBackupSchedule) DeepCopyInto

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

type PXCSpec added in v1.7.0

type PXCSpec struct {
	AutoRecovery        *bool                `json:"autoRecovery,omitempty"`
	ReplicationChannels []ReplicationChannel `json:"replicationChannels,omitempty"`
	Expose              ServiceExpose        `json:"expose,omitempty"`
	*PodSpec            `json:",inline"`
}

func (*PXCSpec) DeepCopy added in v1.7.0

func (in *PXCSpec) DeepCopy() *PXCSpec

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

func (*PXCSpec) DeepCopyInto added in v1.7.0

func (in *PXCSpec) DeepCopyInto(out *PXCSpec)

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

type PerconaXtraDBCluster

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

	Spec   PerconaXtraDBClusterSpec   `json:"spec,omitempty"`
	Status PerconaXtraDBClusterStatus `json:"status,omitempty"`
}

PerconaXtraDBCluster is the Schema for the perconaxtradbclusters API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.pxc.size,statuspath=.status.pxc.size,selectorpath=.status.pxc.labelSelectorPath +kubebuilder:pruning:PreserveUnknownFields +kubebuilder:resource:shortName="pxc";"pxcs" +kubebuilder:printcolumn:name="Endpoint",type="string",JSONPath=".status.host" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state" +kubebuilder:printcolumn:name="PXC",type="string",JSONPath=".status.pxc.ready",description="Ready pxc nodes" +kubebuilder:printcolumn:name="proxysql",type="string",JSONPath=".status.proxysql.ready",description="Ready proxysql nodes" +kubebuilder:printcolumn:name="haproxy",type="string",JSONPath=".status.haproxy.ready",description="Ready haproxy nodes" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*PerconaXtraDBCluster) CanBackup added in v1.9.0

func (cr *PerconaXtraDBCluster) CanBackup() error

func (*PerconaXtraDBCluster) CheckNSetDefaults

func (cr *PerconaXtraDBCluster) CheckNSetDefaults(serverVersion *version.ServerVersion, logger logr.Logger) (err error)

CheckNSetDefaults sets defaults options and overwrites wrong settings and checks if other options' values are allowable returned "changed" means CR should be updated on cluster

func (*PerconaXtraDBCluster) CompareVersionWith added in v1.3.0

func (cr *PerconaXtraDBCluster) CompareVersionWith(ver string) int

CompareVersionWith 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 (*PerconaXtraDBCluster) ConfigHasKey added in v1.6.0

func (cr *PerconaXtraDBCluster) ConfigHasKey(section, key string) (bool, error)

ConfigHasKey check if cr.Spec.PXC.Configuration has given key in given section

func (*PerconaXtraDBCluster) DeepCopy

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

func (*PerconaXtraDBCluster) DeepCopyInto

func (in *PerconaXtraDBCluster) DeepCopyInto(out *PerconaXtraDBCluster)

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

func (*PerconaXtraDBCluster) DeepCopyObject

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

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

func (*PerconaXtraDBCluster) HAProxyEnabled added in v1.9.0

func (cr *PerconaXtraDBCluster) HAProxyEnabled() bool

func (*PerconaXtraDBCluster) HAProxyReplicasNamespacedName added in v1.8.0

func (cr *PerconaXtraDBCluster) HAProxyReplicasNamespacedName() types.NamespacedName

func (*PerconaXtraDBCluster) HAProxyReplicasServiceEnabled added in v1.10.0

func (cr *PerconaXtraDBCluster) HAProxyReplicasServiceEnabled() bool

func (*PerconaXtraDBCluster) HaproxyServiceNamespacedName added in v1.8.0

func (cr *PerconaXtraDBCluster) HaproxyServiceNamespacedName() types.NamespacedName

func (*PerconaXtraDBCluster) PITREnabled added in v1.12.0

func (cr *PerconaXtraDBCluster) PITREnabled() bool

func (*PerconaXtraDBCluster) PVCResizeInProgress added in v1.14.0

func (cr *PerconaXtraDBCluster) PVCResizeInProgress() bool

func (*PerconaXtraDBCluster) ProxySQLEnabled added in v1.9.0

func (cr *PerconaXtraDBCluster) ProxySQLEnabled() bool

func (*PerconaXtraDBCluster) ProxySQLServiceNamespacedName added in v1.8.0

func (cr *PerconaXtraDBCluster) ProxySQLServiceNamespacedName() types.NamespacedName

func (*PerconaXtraDBCluster) ProxySQLUnreadyServiceNamespacedName added in v1.8.0

func (cr *PerconaXtraDBCluster) ProxySQLUnreadyServiceNamespacedName() types.NamespacedName

func (*PerconaXtraDBCluster) ShouldWaitForTokenIssue added in v1.6.0

func (cr *PerconaXtraDBCluster) ShouldWaitForTokenIssue() bool

func (*PerconaXtraDBCluster) Validate added in v1.7.0

func (cr *PerconaXtraDBCluster) Validate() error

func (*PerconaXtraDBCluster) Version added in v1.5.0

func (cr *PerconaXtraDBCluster) Version() *v.Version

type PerconaXtraDBClusterBackup

type PerconaXtraDBClusterBackup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              PXCBackupSpec   `json:"spec"`
	Status            PXCBackupStatus `json:"status,omitempty"`
	SchedulerName     string          `json:"schedulerName,omitempty"`
	PriorityClassName string          `json:"priorityClassName,omitempty"`
}

+kubebuilder:subresource:status +kubebuilder:resource:shortName="pxc-backup";"pxc-backups" +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".spec.pxcCluster",description="Cluster name" +kubebuilder:printcolumn:name="Storage",type="string",JSONPath=".status.storageName",description="Storage name from pxc spec" +kubebuilder:printcolumn:name="Destination",type="string",JSONPath=".status.destination",description="Backup destination" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="Job status" +kubebuilder:printcolumn:name="Completed",type="date",JSONPath=".status.completed",description="Completed time" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*PerconaXtraDBClusterBackup) DeepCopy

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

func (*PerconaXtraDBClusterBackup) DeepCopyInto

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

func (*PerconaXtraDBClusterBackup) DeepCopyObject

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

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

func (*PerconaXtraDBClusterBackup) OwnerRef

OwnerRef returns OwnerReference to object

type PerconaXtraDBClusterBackupList

type PerconaXtraDBClusterBackupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []PerconaXtraDBClusterBackup `json:"items"`
}

func (*PerconaXtraDBClusterBackupList) DeepCopy

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

func (*PerconaXtraDBClusterBackupList) DeepCopyInto

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

func (*PerconaXtraDBClusterBackupList) DeepCopyObject

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

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

func (*PerconaXtraDBClusterBackupList) HasUnfinishedFinalizers added in v1.8.0

func (list *PerconaXtraDBClusterBackupList) HasUnfinishedFinalizers() bool

type PerconaXtraDBClusterList

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

PerconaXtraDBClusterList contains a list of PerconaXtraDBCluster

func (*PerconaXtraDBClusterList) DeepCopy

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

func (*PerconaXtraDBClusterList) DeepCopyInto

func (in *PerconaXtraDBClusterList) DeepCopyInto(out *PerconaXtraDBClusterList)

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

func (*PerconaXtraDBClusterList) DeepCopyObject

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

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

func (*PerconaXtraDBClusterList) HasUnfinishedFinalizers added in v1.8.0

func (list *PerconaXtraDBClusterList) HasUnfinishedFinalizers() bool

type PerconaXtraDBClusterRestore

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

	Spec   PerconaXtraDBClusterRestoreSpec   `json:"spec,omitempty"`
	Status PerconaXtraDBClusterRestoreStatus `json:"status,omitempty"`
}

PerconaXtraDBClusterRestore is the Schema for the perconaxtradbclusterrestores API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:shortName="pxc-restore";"pxc-restores" +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".spec.pxcCluster",description="Cluster name" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="Job status" +kubebuilder:printcolumn:name="Completed",type="date",JSONPath=".status.completed",description="Completed time" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*PerconaXtraDBClusterRestore) CheckNsetDefaults

func (cr *PerconaXtraDBClusterRestore) CheckNsetDefaults() error

func (*PerconaXtraDBClusterRestore) DeepCopy

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

func (*PerconaXtraDBClusterRestore) DeepCopyInto

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

func (*PerconaXtraDBClusterRestore) DeepCopyObject

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

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

type PerconaXtraDBClusterRestoreList

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

PerconaXtraDBClusterRestoreList contains a list of PerconaXtraDBClusterRestore

func (*PerconaXtraDBClusterRestoreList) DeepCopy

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

func (*PerconaXtraDBClusterRestoreList) DeepCopyInto

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

func (*PerconaXtraDBClusterRestoreList) DeepCopyObject

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

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

type PerconaXtraDBClusterRestoreSpec

type PerconaXtraDBClusterRestoreSpec struct {
	PXCCluster       string                      `json:"pxcCluster"`
	BackupName       string                      `json:"backupName"`
	ContainerOptions *BackupContainerOptions     `json:"containerOptions,omitempty"`
	BackupSource     *PXCBackupStatus            `json:"backupSource,omitempty"`
	PITR             *PITR                       `json:"pitr,omitempty"`
	Resources        corev1.ResourceRequirements `json:"resources,omitempty"`
}

PerconaXtraDBClusterRestoreSpec defines the desired state of PerconaXtraDBClusterRestore

func (*PerconaXtraDBClusterRestoreSpec) DeepCopy

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

func (*PerconaXtraDBClusterRestoreSpec) DeepCopyInto

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

type PerconaXtraDBClusterRestoreStatus

type PerconaXtraDBClusterRestoreStatus struct {
	State         BcpRestoreStates `json:"state,omitempty"`
	Comments      string           `json:"comments,omitempty"`
	CompletedAt   *metav1.Time     `json:"completed,omitempty"`
	LastScheduled *metav1.Time     `json:"lastscheduled,omitempty"`
}

PerconaXtraDBClusterRestoreStatus defines the observed state of PerconaXtraDBClusterRestore

func (*PerconaXtraDBClusterRestoreStatus) DeepCopy

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

func (*PerconaXtraDBClusterRestoreStatus) DeepCopyInto

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

type PerconaXtraDBClusterSpec

type PerconaXtraDBClusterSpec struct {
	Platform               version.Platform                     `json:"platform,omitempty"`
	CRVersion              string                               `json:"crVersion,omitempty"`
	Pause                  bool                                 `json:"pause,omitempty"`
	SecretsName            string                               `json:"secretsName,omitempty"`
	VaultSecretName        string                               `json:"vaultSecretName,omitempty"`
	SSLSecretName          string                               `json:"sslSecretName,omitempty"`
	SSLInternalSecretName  string                               `json:"sslInternalSecretName,omitempty"`
	LogCollectorSecretName string                               `json:"logCollectorSecretName,omitempty"`
	TLS                    *TLSSpec                             `json:"tls,omitempty"`
	PXC                    *PXCSpec                             `json:"pxc,omitempty"`
	ProxySQL               *ProxySQLSpec                        `json:"proxysql,omitempty"`
	HAProxy                *HAProxySpec                         `json:"haproxy,omitempty"`
	PMM                    *PMMSpec                             `json:"pmm,omitempty"`
	LogCollector           *LogCollectorSpec                    `json:"logcollector,omitempty"`
	Backup                 *PXCScheduledBackup                  `json:"backup,omitempty"`
	UpdateStrategy         appsv1.StatefulSetUpdateStrategyType `json:"updateStrategy,omitempty"`
	UpgradeOptions         UpgradeOptions                       `json:"upgradeOptions,omitempty"`
	AllowUnsafeConfig      bool                                 `json:"allowUnsafeConfigurations,omitempty"`

	// Deprecated, should be removed in the future. Use InitContainer.Image instead
	InitImage string `json:"initImage,omitempty"`

	InitContainer             InitContainerSpec `json:"initContainer,omitempty"`
	EnableCRValidationWebhook *bool             `json:"enableCRValidationWebhook,omitempty"`
	IgnoreAnnotations         []string          `json:"ignoreAnnotations,omitempty"`
	IgnoreLabels              []string          `json:"ignoreLabels,omitempty"`
}

PerconaXtraDBClusterSpec defines the desired state of PerconaXtraDBCluster

func (*PerconaXtraDBClusterSpec) DeepCopy

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

func (*PerconaXtraDBClusterSpec) DeepCopyInto

func (in *PerconaXtraDBClusterSpec) DeepCopyInto(out *PerconaXtraDBClusterSpec)

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

func (*PerconaXtraDBClusterSpec) HAProxyEnabled added in v1.13.0

func (s *PerconaXtraDBClusterSpec) HAProxyEnabled() bool

func (*PerconaXtraDBClusterSpec) ProxySQLEnabled added in v1.13.0

func (s *PerconaXtraDBClusterSpec) ProxySQLEnabled() bool

type PerconaXtraDBClusterStatus

type PerconaXtraDBClusterStatus struct {
	PXC                AppStatus          `json:"pxc,omitempty"`
	PXCReplication     *ReplicationStatus `json:"pxcReplication,omitempty"`
	ProxySQL           AppStatus          `json:"proxysql,omitempty"`
	HAProxy            AppStatus          `json:"haproxy,omitempty"`
	Backup             ComponentStatus    `json:"backup,omitempty"`
	PMM                ComponentStatus    `json:"pmm,omitempty"`
	LogCollector       ComponentStatus    `json:"logcollector,omitempty"`
	Host               string             `json:"host,omitempty"`
	Messages           []string           `json:"message,omitempty"`
	Status             AppState           `json:"state,omitempty"`
	Conditions         []ClusterCondition `json:"conditions,omitempty"`
	ObservedGeneration int64              `json:"observedGeneration,omitempty"`
	Size               int32              `json:"size"`
	Ready              int32              `json:"ready"`
}

PerconaXtraDBClusterStatus defines the observed state of PerconaXtraDBCluster

func (*PerconaXtraDBClusterStatus) AddCondition added in v1.9.0

func (s *PerconaXtraDBClusterStatus) AddCondition(c ClusterCondition)

func (*PerconaXtraDBClusterStatus) ClusterStatus added in v1.9.0

func (s *PerconaXtraDBClusterStatus) ClusterStatus(inProgress, deleted bool) AppState

func (*PerconaXtraDBClusterStatus) DeepCopy

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

func (*PerconaXtraDBClusterStatus) 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"`
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
}

func (*PodDisruptionBudgetSpec) DeepCopy

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 {
	Enabled                       bool                          `json:"enabled,omitempty"`
	Size                          int32                         `json:"size,omitempty"`
	Image                         string                        `json:"image,omitempty"`
	Resources                     corev1.ResourceRequirements   `json:"resources,omitempty"`
	SidecarResources              corev1.ResourceRequirements   `json:"sidecarResources,omitempty"`
	VolumeSpec                    *VolumeSpec                   `json:"volumeSpec,omitempty"`
	Affinity                      *PodAffinity                  `json:"affinity,omitempty"`
	NodeSelector                  map[string]string             `json:"nodeSelector,omitempty"`
	Tolerations                   []corev1.Toleration           `json:"tolerations,omitempty"`
	PriorityClassName             string                        `json:"priorityClassName,omitempty"`
	Annotations                   map[string]string             `json:"annotations,omitempty"`
	Labels                        map[string]string             `json:"labels,omitempty"`
	ImagePullSecrets              []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	Configuration                 string                        `json:"configuration,omitempty"`
	PodDisruptionBudget           *PodDisruptionBudgetSpec      `json:"podDisruptionBudget,omitempty"`
	VaultSecretName               string                        `json:"vaultSecretName,omitempty"`
	SSLSecretName                 string                        `json:"sslSecretName,omitempty"`
	SSLInternalSecretName         string                        `json:"sslInternalSecretName,omitempty"`
	EnvVarsSecretName             string                        `json:"envVarsSecret,omitempty"`
	TerminationGracePeriodSeconds *int64                        `json:"gracePeriod,omitempty"`
	ForceUnsafeBootstrap          bool                          `json:"forceUnsafeBootstrap,omitempty"`

	// Deprecated: Use ServiceExpose.Type instead
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`
	// Deprecated: Use ServiceExpose.Type instead
	ReplicasServiceType corev1.ServiceType `json:"replicasServiceType,omitempty"`
	// Deprecated: Use ServiceExpose.ExternalTrafficPolicy instead
	ExternalTrafficPolicy corev1.ServiceExternalTrafficPolicyType `json:"externalTrafficPolicy,omitempty"`
	// Deprecated: Use ServiceExpose.ExternalTrafficPolicy instead
	ReplicasExternalTrafficPolicy corev1.ServiceExternalTrafficPolicyType `json:"replicasExternalTrafficPolicy,omitempty"`
	// Deprecated: Use ServiceExpose.LoadBalancerSourceRanges instead
	LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`
	// Deprecated: Use ServiceExpose.LoadBalancerIP instead
	LoadBalancerIP string `json:"loadBalancerIP,omitempty"`
	// Deprecated: Use ServiceExpose.Annotations instead
	ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`
	// Deprecated: Use ServiceExpose.Labels instead
	ServiceLabels map[string]string `json:"serviceLabels,omitempty"`
	// Deprecated: Use ServiceExpose.Annotations instead
	ReplicasServiceAnnotations map[string]string `json:"replicasServiceAnnotations,omitempty"`
	// Deprecated: Use ServiceExpose.Labels instead
	ReplicasServiceLabels map[string]string `json:"replicasServiceLabels,omitempty"`

	SchedulerName                string                            `json:"schedulerName,omitempty"`
	ReadinessInitialDelaySeconds *int32                            `json:"readinessDelaySec,omitempty"`
	ReadinessProbes              corev1.Probe                      `json:"readinessProbes,omitempty"`
	LivenessInitialDelaySeconds  *int32                            `json:"livenessDelaySec,omitempty"`
	LivenessProbes               corev1.Probe                      `json:"livenessProbes,omitempty"`
	PodSecurityContext           *corev1.PodSecurityContext        `json:"podSecurityContext,omitempty"`
	ContainerSecurityContext     *corev1.SecurityContext           `json:"containerSecurityContext,omitempty"`
	ServiceAccountName           string                            `json:"serviceAccountName,omitempty"`
	ImagePullPolicy              corev1.PullPolicy                 `json:"imagePullPolicy,omitempty"`
	Sidecars                     []corev1.Container                `json:"sidecars,omitempty"`
	SidecarVolumes               []corev1.Volume                   `json:"sidecarVolumes,omitempty"`
	SidecarPVCs                  []corev1.PersistentVolumeClaim    `json:"sidecarPVCs,omitempty"`
	RuntimeClassName             *string                           `json:"runtimeClassName,omitempty"`
	HookScript                   string                            `json:"hookScript,omitempty"`
	Lifecycle                    corev1.Lifecycle                  `json:"lifecycle,omitempty"`
	TopologySpreadConstraints    []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}

func (*PodSpec) DeepCopy

func (in *PodSpec) DeepCopy() *PodSpec

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

func (*PodSpec) DeepCopyInto

func (in *PodSpec) DeepCopyInto(out *PodSpec)

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

type ProxySQLSpec added in v1.14.0

type ProxySQLSpec struct {
	PodSpec `json:",inline"`
	Expose  ServiceExpose `json:"expose,omitempty"`
}

func (*ProxySQLSpec) DeepCopy added in v1.14.0

func (in *ProxySQLSpec) DeepCopy() *ProxySQLSpec

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

func (*ProxySQLSpec) DeepCopyInto added in v1.14.0

func (in *ProxySQLSpec) DeepCopyInto(out *ProxySQLSpec)

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

type ReplicationChannel added in v1.9.0

type ReplicationChannel struct {
	Name        string                    `json:"name,omitempty"`
	IsSource    bool                      `json:"isSource,omitempty"`
	SourcesList []ReplicationSource       `json:"sourcesList,omitempty"`
	Config      *ReplicationChannelConfig `json:"configuration,omitempty"`
}

func (*ReplicationChannel) DeepCopy added in v1.10.0

func (in *ReplicationChannel) DeepCopy() *ReplicationChannel

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

func (*ReplicationChannel) DeepCopyInto added in v1.10.0

func (in *ReplicationChannel) DeepCopyInto(out *ReplicationChannel)

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

type ReplicationChannelConfig added in v1.10.0

type ReplicationChannelConfig struct {
	SourceRetryCount   uint   `json:"sourceRetryCount,omitempty"`
	SourceConnectRetry uint   `json:"sourceConnectRetry,omitempty"`
	SSL                bool   `json:"ssl,omitempty"`
	SSLSkipVerify      bool   `json:"sslSkipVerify,omitempty"`
	CA                 string `json:"ca,omitempty"`
}

func (*ReplicationChannelConfig) DeepCopy added in v1.11.0

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

func (*ReplicationChannelConfig) DeepCopyInto added in v1.11.0

func (in *ReplicationChannelConfig) DeepCopyInto(out *ReplicationChannelConfig)

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

type ReplicationChannelStatus added in v1.10.0

type ReplicationChannelStatus struct {
	Name                     string `json:"name,omitempty"`
	ReplicationChannelConfig `json:",inline"`
}

func (*ReplicationChannelStatus) DeepCopy added in v1.11.0

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

func (*ReplicationChannelStatus) DeepCopyInto added in v1.11.0

func (in *ReplicationChannelStatus) DeepCopyInto(out *ReplicationChannelStatus)

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

type ReplicationSource added in v1.9.0

type ReplicationSource struct {
	Host   string `json:"host,omitempty"`
	Port   int    `json:"port,omitempty"`
	Weight int    `json:"weight,omitempty"`
}

func (*ReplicationSource) DeepCopy added in v1.10.0

func (in *ReplicationSource) DeepCopy() *ReplicationSource

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

func (*ReplicationSource) DeepCopyInto added in v1.10.0

func (in *ReplicationSource) DeepCopyInto(out *ReplicationSource)

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

type ReplicationStatus added in v1.10.0

type ReplicationStatus struct {
	Channels []ReplicationChannelStatus `json:"replicationChannels,omitempty"`
}

TODO: add replication status(error,active and etc)

func (*ReplicationStatus) DeepCopy added in v1.11.0

func (in *ReplicationStatus) DeepCopy() *ReplicationStatus

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

func (*ReplicationStatus) DeepCopyInto added in v1.11.0

func (in *ReplicationStatus) DeepCopyInto(out *ReplicationStatus)

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

type ServiceExpose added in v1.9.0

type ServiceExpose struct {
	Enabled                  bool                                    `json:"enabled,omitempty"`
	Type                     corev1.ServiceType                      `json:"type,omitempty"`
	LoadBalancerSourceRanges []string                                `json:"loadBalancerSourceRanges,omitempty"`
	LoadBalancerIP           string                                  `json:"loadBalancerIP,omitempty"`
	Annotations              map[string]string                       `json:"annotations,omitempty"`
	Labels                   map[string]string                       `json:"labels,omitempty"`
	ExternalTrafficPolicy    corev1.ServiceExternalTrafficPolicyType `json:"externalTrafficPolicy,omitempty"`
	InternalTrafficPolicy    corev1.ServiceInternalTrafficPolicy     `json:"internalTrafficPolicy,omitempty"`

	// Deprecated: Use ExternalTrafficPolicy instead
	TrafficPolicy corev1.ServiceExternalTrafficPolicyType `json:"trafficPolicy,omitempty"`
}

func (*ServiceExpose) DeepCopy added in v1.10.0

func (in *ServiceExpose) DeepCopy() *ServiceExpose

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

func (*ServiceExpose) DeepCopyInto added in v1.10.0

func (in *ServiceExpose) DeepCopyInto(out *ServiceExpose)

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

type StatefulApp

type StatefulApp interface {
	App
	Name() string
	StatefulSet() *appsv1.StatefulSet
	Service() string
	UpdateStrategy(cr *PerconaXtraDBCluster) appsv1.StatefulSetUpdateStrategy
}

+kubebuilder:object:generate=false

type TLSSpec added in v1.6.0

type TLSSpec struct {
	SANs       []string                `json:"SANs,omitempty"`
	IssuerConf *cmmeta.ObjectReference `json:"issuerConf,omitempty"`
}

func (*TLSSpec) DeepCopy added in v1.7.0

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto added in v1.7.0

func (in *TLSSpec) DeepCopyInto(out *TLSSpec)

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

type UpgradeOptions added in v1.5.0

type UpgradeOptions struct {
	VersionServiceEndpoint string `json:"versionServiceEndpoint,omitempty"`
	Apply                  string `json:"apply,omitempty"`
	Schedule               string `json:"schedule,omitempty"`
}

func (*UpgradeOptions) DeepCopy added in v1.6.0

func (in *UpgradeOptions) DeepCopy() *UpgradeOptions

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

func (*UpgradeOptions) DeepCopyInto added in v1.6.0

func (in *UpgradeOptions) DeepCopyInto(out *UpgradeOptions)

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

type Volume

type Volume struct {
	PVCs    []corev1.PersistentVolumeClaim
	Volumes []corev1.Volume
}

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

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.

Jump to

Keyboard shortcuts

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