v1alpha1

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2022 License: Apache-2.0 Imports: 15 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 (
	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 AffinityTopologyKeyNone = "none"

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

func GetClusterNameFromObject

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

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/last-applied-config"
)

type BackupSpec added in v0.2.0

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

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

type BackupState added in v0.2.0

type BackupState string
const (
	BackupNew       BackupState = ""
	BackupStarting  BackupState = "Starting"
	BackupRunning   BackupState = "Running"
	BackupFailed    BackupState = "Failed"
	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 string `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) 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            string `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) 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            string `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) 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"`
	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 ClusterType

type ClusterType string
const (
	ClusterTypeGR    ClusterType = "group-replication"
	ClusterTypeAsync ClusterType = "async"
	MinSafeProxySize             = 2
)

type ContainerSpec added in v0.3.0

type ContainerSpec struct {
	Image            string                        `json:"image,omitempty"`
	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"`
}

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 {
	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"`
	SizeSemiSync intstr.IntOrString     `json:"sizeSemiSync,omitempty"`
	SemiSyncType string                 `json:"semiSyncType,omitempty"`
	Expose       ServiceExposeTogglable `json:"expose,omitempty"`

	Sidecars       []corev1.Container `json:"sidecars,omitempty"`
	SidecarVolumes []corev1.Volume    `json:"sidecarVolumes,omitempty"`
	SidecarPVCs    []SidecarPVC       `json:"sidecarPVCs,omitempty"`

	Configuration string `json:"configuration,omitempty"`

	PrimaryServiceType  corev1.ServiceType `json:"primaryServiceType,omitempty"`
	ReplicasServiceType corev1.ServiceType `json:"replicasServiceType,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

func (MySQLSpec) IsGR added in v0.2.0

func (m MySQLSpec) IsGR() bool

type OrchestratorSpec

type OrchestratorSpec struct {
	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,omitempty"`
	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.

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(serverVersion *platform.ServerVersion) error

func (*PerconaServerMySQL) ClusterHash

func (cr *PerconaServerMySQL) ClusterHash() string

ClusterHash returns FNV hash of the CustomResource UID

func (*PerconaServerMySQL) ClusterHint

func (cr *PerconaServerMySQL) ClusterHint() string

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

func (*PerconaServerMySQL) InnoDBClusterName added in v0.2.0

func (cr *PerconaServerMySQL) InnoDBClusterName() string

func (*PerconaServerMySQL) InternalSecretName

func (cr *PerconaServerMySQL) InternalSecretName() string

func (*PerconaServerMySQL) Labels

func (cr *PerconaServerMySQL) Labels() map[string]string

func (*PerconaServerMySQL) MySQLSpec

func (cr *PerconaServerMySQL) MySQLSpec() *MySQLSpec

func (*PerconaServerMySQL) OrchestratorSpec

func (cr *PerconaServerMySQL) OrchestratorSpec() *OrchestratorSpec

func (*PerconaServerMySQL) PMMEnabled

func (cr *PerconaServerMySQL) PMMEnabled() bool

func (*PerconaServerMySQL) PMMSpec

func (cr *PerconaServerMySQL) PMMSpec() *PMMSpec

func (*PerconaServerMySQL) SetVersion added in v0.3.0

func (cr *PerconaServerMySQL) SetVersion()

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"`
	Destination   string             `json:"destination,omitempty"`
	Storage       *BackupStorageSpec `json:"storage,omitempty"`
	CompletedAt   *metav1.Time       `json:"completed,omitempty"`
	Image         string             `json:"image,omitempty"`
	SSLSecretName string             `json:"sslSecretName,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"`
}

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"`
	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"`
	MySQL                 MySQLSpec        `json:"mysql,omitempty"`
	Orchestrator          OrchestratorSpec `json:"orchestrator,omitempty"`
	PMM                   *PMMSpec         `json:"pmm,omitempty"`
	Backup                *BackupSpec      `json:"backup,omitempty"`
	Router                *MySQLRouterSpec `json:"router,omitempty"`
	HAProxy               *HAProxySpec     `json:"haproxy,omitempty"`
	TLS                   *TLSSpec         `json:"tls,omitempty"`
	Toolkit               *ToolkitSpec     `json:"toolkit,omitempty"`
	UpgradeOptions        UpgradeOptions   `json:"upgradeOptions,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"`
	// +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"`
	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"`

	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

func (*PodSpec) GetInitImage added in v0.3.0

func (s *PodSpec) GetInitImage() string

type RestoreState added in v0.2.0

type RestoreState string
const (
	RestoreNew       RestoreState = ""
	RestoreStarting  RestoreState = "Starting"
	RestoreRunning   RestoreState = "Running"
	RestoreFailed    RestoreState = "Failed"
	RestoreSucceeded RestoreState = "Succeeded"
)

type ServiceExpose

type ServiceExpose struct {
	Type                     corev1.ServiceType                      `json:"type,omitempty"`
	LoadBalancerSourceRanges []string                                `json:"loadBalancerSourceRanges,omitempty"`
	Annotations              map[string]string                       `json:"annotations,omitempty"`
	TrafficPolicy            corev1.ServiceExternalTrafficPolicyType `json:"trafficPolicy,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.

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"
	StateReady        StatefulAppState = "ready"
)

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"
	UserProxyAdmin   SystemUser = "proxyadmin"
	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