v1alpha1

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ps v1alpha1 API group +kubebuilder:object:generate=true +groupName=ps.percona.com

Index

Constants

View Source
const (
	ClusterTypeGR    ClusterType = "group-replication"
	ClusterTypeAsync ClusterType = "async"
	MinSafeProxySize             = 2
	MinSafeGRSize                = 3
	MaxSafeGRSize                = 9
)
View Source
const (
	BinVolumeName = "bin"
	BinVolumePath = "/opt/percona"
)
View Source
const (
	NameLabel         = "app.kubernetes.io/name"
	InstanceLabel     = "app.kubernetes.io/instance"
	ManagedByLabel    = "app.kubernetes.io/managed-by"
	PartOfLabel       = "app.kubernetes.io/part-of"
	ComponentLabel    = "app.kubernetes.io/component"
	MySQLPrimaryLabel = "mysql.percona.com/primary"
	ExposedLabel      = "percona.com/exposed"
)
View Source
const (
	UpgradeStrategyDisabled    = "disabled"
	UpgradeStrategyNever       = "never"
	UpgradeStrategyRecommended = "recommended"
	UpgradeStrategyLatest      = "latest"
)
View Source
const (
	AzureBlobStoragePrefix string = ""
	AwsBlobStoragePrefix   string = "s3://"
	GCSStoragePrefix       string = "gs://"
)
View Source
const AffinityTopologyKeyNone = "none"
View Source
const ConditionInnoDBClusterBootstrapped string = "InnoDBClusterBootstrapped"
View Source
const SmartUpdateStatefulSetStrategyType appsv1.StatefulSetUpdateStrategyType = "SmartUpdate"

SmartUpdateStatefulSetStrategyType

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var NonAlphaNumeric = regexp.MustCompile("[^a-zA-Z0-9_]+")

Functions

func FNVHash added in v0.2.0

func FNVHash(p []byte) string

FNVHash computes a hash of the provided byte slice using the FNV-1a algorithm.

func GetClusterNameFromObject

func GetClusterNameFromObject(obj client.Object) (string, error)

GetClusterNameFromObject retrieves the cluster's name from the given client object's labels.

Types

type AnnotationKey

type AnnotationKey string
const (
	AnnotationSpecHash   AnnotationKey = "percona.com/last-applied-spec"
	AnnotationSecretHash AnnotationKey = "percona.com/last-applied-secret"
	AnnotationConfigHash AnnotationKey = "percona.com/configuration-hash"
	AnnotationTLSHash    AnnotationKey = "percona.com/last-applied-tls"
)

type BackupDestination added in v0.7.0

type BackupDestination string

func (*BackupDestination) BackupName added in v0.7.0

func (dest *BackupDestination) BackupName() string

func (*BackupDestination) BucketAndPrefix added in v0.7.0

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

func (*BackupDestination) PathWithoutBucket added in v0.7.0

func (dest *BackupDestination) PathWithoutBucket() string

func (*BackupDestination) SetAzureDestination added in v0.7.0

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

func (*BackupDestination) SetGCSDestination added in v0.7.0

func (dest *BackupDestination) SetGCSDestination(bucket, backupName string)

func (*BackupDestination) SetS3Destination added in v0.7.0

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

func (*BackupDestination) StorageTypePrefix added in v0.7.0

func (dest *BackupDestination) StorageTypePrefix() string

func (*BackupDestination) String added in v0.7.0

func (dest *BackupDestination) String() string

type BackupSpec added in v0.2.0

type BackupSpec struct {
	Enabled                  bool                          `json:"enabled,omitempty"`
	Image                    string                        `json:"image"`
	InitImage                string                        `json:"initImage,omitempty"`
	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"`
}

func (*BackupSpec) DeepCopy added in v0.2.0

func (in *BackupSpec) DeepCopy() *BackupSpec

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

func (*BackupSpec) DeepCopyInto added in v0.2.0

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) GetInitImage added in v0.3.0

func (s *BackupSpec) GetInitImage() string

Retrieves the initialization image for the backup.

type BackupState added in v0.2.0

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

type BackupStorageAzureSpec added in v0.2.0

type BackupStorageAzureSpec struct {
	// A container name is a valid DNS name that conforms to the Azure naming rules.
	ContainerName BucketWithPrefix `json:"containerName"`

	// 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 added in v0.7.0

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 added in v0.2.0

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

func (*BackupStorageAzureSpec) DeepCopyInto added in v0.2.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 BackupStorageGCSSpec added in v0.2.0

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 added in v0.7.0

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 added in v0.2.0

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

func (*BackupStorageGCSSpec) DeepCopyInto added in v0.2.0

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 added in v0.2.0

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 added in v0.7.0

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 added in v0.2.0

func (in *BackupStorageS3Spec) DeepCopy() *BackupStorageS3Spec

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

func (*BackupStorageS3Spec) DeepCopyInto added in v0.2.0

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 added in v0.2.0

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"`
}

func (*BackupStorageSpec) DeepCopy added in v0.2.0

func (in *BackupStorageSpec) DeepCopy() *BackupStorageSpec

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

func (*BackupStorageSpec) DeepCopyInto added in v0.2.0

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 added in v0.2.0

type BackupStorageType string
const (
	BackupStorageFilesystem BackupStorageType = "filesystem"
	BackupStorageS3         BackupStorageType = "s3"
	BackupStorageGCS        BackupStorageType = "gcs"
	BackupStorageAzure      BackupStorageType = "azure"
)

type BucketWithPrefix added in v0.5.0

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 added in v0.3.0

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 added in v0.3.0

func (in *ContainerSpec) DeepCopy() *ContainerSpec

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

func (*ContainerSpec) DeepCopyInto added in v0.3.0

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 added in v0.3.0

type HAProxySpec struct {
	Enabled bool `json:"enabled,omitempty"`

	Expose ServiceExpose `json:"expose,omitempty"`

	PodSpec `json:",inline"`
}

func (*HAProxySpec) DeepCopy added in v0.3.0

func (in *HAProxySpec) DeepCopy() *HAProxySpec

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

func (*HAProxySpec) DeepCopyInto added in v0.3.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 MySQLRouterSpec added in v0.2.0

type MySQLRouterSpec struct {
	Enabled bool `json:"enabled,omitempty"`

	Expose ServiceExpose `json:"expose,omitempty"`

	PodSpec `json:",inline"`
}

func (*MySQLRouterSpec) DeepCopy added in v0.2.0

func (in *MySQLRouterSpec) DeepCopy() *MySQLRouterSpec

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

func (*MySQLRouterSpec) DeepCopyInto added in v0.2.0

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"`
	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"`

	PodSpec `json:",inline"`
}

func (*MySQLSpec) DeepCopy

func (in *MySQLSpec) DeepCopy() *MySQLSpec

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

func (*MySQLSpec) DeepCopyInto

func (in *MySQLSpec) DeepCopyInto(out *MySQLSpec)

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

func (MySQLSpec) IsAsync added in v0.2.0

func (m MySQLSpec) IsAsync() bool

Checks if the MySQL cluster type is asynchronous.

func (MySQLSpec) IsGR added in v0.2.0

func (m MySQLSpec) IsGR() bool

Checks if the MySQL cluster type is Group Replication (GR).

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"`
	ServerHost               string                      `json:"serverHost,omitempty"`
	ServerUser               string                      `json:"serverUser,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 v0.4.0

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

HasSecret determines if the provided secret contains the necessary PMM server key.

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(ctx 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) 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) HAProxyEnabled added in v0.3.0

func (cr *PerconaServerMySQL) HAProxyEnabled() bool

HAProxyEnabled verifies if HAProxy is enabled based on MySQL configuration and safety settings.

func (*PerconaServerMySQL) InnoDBClusterName added in v0.2.0

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() 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 added in v0.4.0

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) RouterEnabled added in v0.6.0

func (cr *PerconaServerMySQL) RouterEnabled() bool

RouterEnabled checks if the router is enabled, considering the MySQL configuration.

func (*PerconaServerMySQL) SetVersion added in v0.3.0

func (cr *PerconaServerMySQL) SetVersion()

SetVersion sets the CRVersion to the version value if it's not already set.

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

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 added in v0.2.0

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

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

func (*PerconaServerMySQLBackupList) DeepCopyInto

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"`
}

PerconaServerMySQLBackupSpec defines the desired state of PerconaServerMySQLBackup

func (*PerconaServerMySQLBackupSpec) DeepCopy

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

func (*PerconaServerMySQLBackupSpec) DeepCopyInto

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"`
}

PerconaServerMySQLBackupStatus defines the observed state of PerconaServerMySQLBackup

func (*PerconaServerMySQLBackupStatus) DeepCopy

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

func (*PerconaServerMySQLBackupStatus) DeepCopyInto

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

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

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

func (*PerconaServerMySQLRestore) DeepCopyInto

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

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

func (*PerconaServerMySQLRestoreList) DeepCopyInto

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"`
}

PerconaServerMySQLRestoreSpec defines the desired state of PerconaServerMySQLRestore

func (*PerconaServerMySQLRestoreSpec) DeepCopy

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

func (*PerconaServerMySQLRestoreSpec) DeepCopyInto

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

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

func (*PerconaServerMySQLRestoreStatus) DeepCopyInto

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

type PerconaServerMySQLSpec

type PerconaServerMySQLSpec struct {
	CRVersion             string                               `json:"crVersion,omitempty"`
	Pause                 bool                                 `json:"pause,omitempty"`
	SecretsName           string                               `json:"secretsName,omitempty"`
	SSLSecretName         string                               `json:"sslSecretName,omitempty"`
	SSLInternalSecretName string                               `json:"sslInternalSecretName,omitempty"`
	AllowUnsafeConfig     bool                                 `json:"allowUnsafeConfigurations,omitempty"`
	InitImage             string                               `json:"initImage,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"`
}

PerconaServerMySQLSpec defines the desired state of PerconaServerMySQL

func (*PerconaServerMySQLSpec) DeepCopy

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) DeepCopy

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 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 {
	Size        int32             `json:"size,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
	Labels      map[string]string `json:"labels,omitempty"`
	VolumeSpec  *VolumeSpec       `json:"volumeSpec,omitempty"`
	InitImage   string            `json:"initImage,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"`

	Configuration string `json:"configuration,omitempty"`

	ContainerSpec `json:",inline"`
}

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.

func (*PodSpec) GetAffinity

func (p *PodSpec) GetAffinity(labels map[string]string) *corev1.Affinity

GetAffinity derives an Affinity configuration based on the provided PodSpec's affinity settings and labels.

func (*PodSpec) GetInitImage added in v0.3.0

func (s *PodSpec) GetInitImage() string

Retrieves the initialization image for the pod.

func (*PodSpec) GetTopologySpreadConstraints added in v0.7.0

func (p *PodSpec) GetTopologySpreadConstraints(ls map[string]string) []corev1.TopologySpreadConstraint

type ProxySpec added in v0.4.0

type ProxySpec struct {
	Router  *MySQLRouterSpec `json:"router,omitempty"`
	HAProxy *HAProxySpec     `json:"haproxy,omitempty"`
}

func (*ProxySpec) DeepCopy added in v0.4.0

func (in *ProxySpec) DeepCopy() *ProxySpec

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

func (*ProxySpec) DeepCopyInto added in v0.4.0

func (in *ProxySpec) DeepCopyInto(out *ProxySpec)

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

type RestoreState added in v0.2.0

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"`
	LoadBalancerIP           string                                   `json:"loadBalancerIP,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 added in v0.4.0

func (e *ServiceExpose) SaveOldMeta() bool

Determines if both annotations and labels of the service expose are empty.

type ServiceExposeTogglable added in v0.2.0

type ServiceExposeTogglable struct {
	Enabled bool `json:"enabled,omitempty"`

	ServiceExpose `json:",inline"`
}

func (*ServiceExposeTogglable) DeepCopy added in v0.2.0

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

func (*ServiceExposeTogglable) DeepCopyInto added in v0.2.0

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 added in v0.7.0

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"`
}

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"
	UserPMMServerKey SystemUser = "pmmserverkey"
	UserReplication  SystemUser = "replication"
	UserRoot         SystemUser = "root"
	UserXtraBackup   SystemUser = "xtrabackup"
)

type TLSSpec added in v0.3.0

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

func (*TLSSpec) DeepCopy added in v0.3.0

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto added in v0.3.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 ToolkitSpec added in v0.3.0

type ToolkitSpec struct {
	ContainerSpec `json:",inline"`
}

func (*ToolkitSpec) DeepCopy added in v0.3.0

func (in *ToolkitSpec) DeepCopy() *ToolkitSpec

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

func (*ToolkitSpec) DeepCopyInto added in v0.3.0

func (in *ToolkitSpec) DeepCopyInto(out *ToolkitSpec)

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

type UpgradeOptions added in v0.3.0

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

func (*UpgradeOptions) DeepCopy added in v0.3.0

func (in *UpgradeOptions) DeepCopy() *UpgradeOptions

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

func (*UpgradeOptions) DeepCopyInto added in v0.3.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 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