Documentation
¶
Overview ¶
Package v1alpha1 ...
Package v1alpha1 ...
Package v1alpha1 contains API Schema definitions for the everest v1alpha1 API group +kubebuilder:object:generate=true +groupName=everest.percona.com
Index ¶
- Constants
- Variables
- type AffinityConfig
- type AppState
- type Applier
- type Backup
- type BackupSchedule
- type BackupSource
- type BackupState
- type BackupStorage
- func (in *BackupStorage) DeepCopy() *BackupStorage
- func (in *BackupStorage) DeepCopyInto(out *BackupStorage)
- func (in *BackupStorage) DeepCopyObject() runtime.Object
- func (b *BackupStorage) DeleteUsedNamespace(namespace string) bool
- func (b *BackupStorage) UpdateNamespacesList(namespace string) bool
- type BackupStorageList
- type BackupStorageProviderSpec
- type BackupStorageSpec
- type BackupStorageStatus
- type BackupStorageType
- type Component
- type ComponentStatus
- type ComponentsMap
- func (c ComponentsMap) BestVersion() string
- func (in ComponentsMap) DeepCopy() ComponentsMap
- func (in ComponentsMap) DeepCopyInto(out *ComponentsMap)
- func (c ComponentsMap) FilterStatus(statuses ...ComponentStatus) ComponentsMap
- func (c ComponentsMap) GetAllowedVersionsSorted() []string
- func (c ComponentsMap) GetSortedVersions() []string
- type ConfigServer
- type DataImportJob
- type DataImportJobList
- type DataImportJobS3Source
- type DataImportJobSource
- type DataImportJobSpec
- type DataImportJobState
- type DataImportJobStatus
- type DataImportJobTemplate
- type DataImporter
- type DataImporterConfig
- type DataImporterDatabaseClusterConstraints
- type DataImporterJobSpec
- type DataImporterList
- type DataImporterSpec
- type DataImporterStatus
- type DataSource
- type DatabaseCluster
- type DatabaseClusterBackup
- func (in *DatabaseClusterBackup) DeepCopy() *DatabaseClusterBackup
- func (in *DatabaseClusterBackup) DeepCopyInto(out *DatabaseClusterBackup)
- func (in *DatabaseClusterBackup) DeepCopyObject() runtime.Object
- func (b *DatabaseClusterBackup) HasCompleted() bool
- func (b *DatabaseClusterBackup) HasFailed() bool
- func (b *DatabaseClusterBackup) HasSucceeded() bool
- func (b *DatabaseClusterBackup) IsInProgress() bool
- type DatabaseClusterBackupList
- type DatabaseClusterBackupSpec
- type DatabaseClusterBackupStatus
- type DatabaseClusterList
- type DatabaseClusterRestore
- func (in *DatabaseClusterRestore) DeepCopy() *DatabaseClusterRestore
- func (in *DatabaseClusterRestore) DeepCopyInto(out *DatabaseClusterRestore)
- func (in *DatabaseClusterRestore) DeepCopyObject() runtime.Object
- func (r *DatabaseClusterRestore) IsComplete() bool
- func (r *DatabaseClusterRestore) IsInProgress() bool
- type DatabaseClusterRestoreDataSource
- type DatabaseClusterRestoreList
- type DatabaseClusterRestoreSpec
- type DatabaseClusterRestoreStatus
- type DatabaseClusterSpec
- type DatabaseClusterStatus
- type DatabaseEngine
- type DatabaseEngineList
- func (in *DatabaseEngineList) DeepCopy() *DatabaseEngineList
- func (in *DatabaseEngineList) DeepCopyInto(out *DatabaseEngineList)
- func (in *DatabaseEngineList) DeepCopyObject() runtime.Object
- func (del *DatabaseEngineList) EngineTypes() []EngineType
- func (del *DatabaseEngineList) Get(dbEngineName EngineType) (DatabaseEngine, bool)
- type DatabaseEngineSpec
- type DatabaseEngineStatus
- type Engine
- type EngineFeatures
- type EngineFeaturesStatus
- type EngineList
- type EngineSize
- type EngineState
- type EngineType
- type Expose
- type ExposeType
- type IPSourceRange
- type LoadBalancerConfig
- type LoadBalancerConfigList
- type LoadBalancerConfigSpec
- type LoadBalancerConfigStatus
- type LoadBalancerType
- type Monitoring
- type MonitoringConfig
- func (in *MonitoringConfig) DeepCopy() *MonitoringConfig
- func (in *MonitoringConfig) DeepCopyInto(out *MonitoringConfig)
- func (in *MonitoringConfig) DeepCopyObject() runtime.Object
- func (m *MonitoringConfig) GetPMMServerVersion(ctx context.Context, credentialsSecret *corev1.Secret) (PMMServerVersion, error)
- type MonitoringConfigList
- type MonitoringConfigSpec
- type MonitoringConfigStatus
- type MonitoringType
- type OperatorUpgrade
- type OperatorUpgradeStatus
- type PITR
- type PITRSpec
- type PITRType
- type PMMConfig
- type PMMServerVersion
- type PSMDBAffinityConfig
- type PSMDBEngineFeatures
- type PSMDBEngineFeaturesStatus
- type PXCAffinityConfig
- type PodSchedulingPolicy
- type PodSchedulingPolicyList
- type PodSchedulingPolicySpec
- type PodSchedulingPolicyStatus
- type PostgreSQLAffinityConfig
- type Proxy
- type ProxyType
- type ResourceSpec
- type Resources
- func (in *Resources) DeepCopy() *Resources
- func (in *Resources) DeepCopyInto(out *Resources)
- func (r *Resources) EffectiveLimits() ResourceSpec
- func (r *Resources) EffectiveRequests() *ResourceSpec
- func (r *Resources) ToResourceRequirements() corev1.ResourceRequirements
- func (r *Resources) UsesLegacyResourceFields() bool
- type RestoreDate
- func (in *RestoreDate) DeepCopy() *RestoreDate
- func (in *RestoreDate) DeepCopyInto(out *RestoreDate)
- func (t *RestoreDate) MarshalJSON() ([]byte, error)
- func (*RestoreDate) OpenAPISchemaFormat() string
- func (*RestoreDate) OpenAPISchemaType() []string
- func (t *RestoreDate) UnmarshalJSON(b []byte) error
- type RestoreState
- type SecretKey
- type SecretKeys
- type Sharding
- type Storage
- type UpgradePhase
- type Versions
Constants ¶
const ( // ReadOnlyFinalizer is the finalizer for marking the resource as read-only. // User cannot delete resources marked by this finalizer directly. ReadOnlyFinalizer = "everest.percona.com/readonly-protection" // InUseResourceFinalizer is the finalizer for marking the resource as "in-use" // and prevents deletion of the resource. InUseResourceFinalizer = "everest.percona.com/in-use-protection" )
const ( // AppStateUnknown is an unknown state. AppStateUnknown AppState = "unknown" // AppStateCreating is used when the db did not start to initialize yet. AppStateCreating AppState = "creating" // AppStateInit is a initializing state. AppStateInit AppState = "initializing" // AppStatePaused is a paused state. AppStatePaused AppState = "paused" // AppStateReady is a ready state. AppStateReady AppState = "ready" // AppStateError is an error state. AppStateError AppState = "error" // AppStateRestoring is a restoring state. AppStateRestoring AppState = "restoring" // AppStateDeleting is a deleting state. AppStateDeleting AppState = "deleting" // AppStateUpgrading is an upgrading state. AppStateUpgrading AppState = "upgrading" // AppStateResizingVolumes is the state when PVCs are being resized. AppStateResizingVolumes = "resizingVolumes" // AppStateImporting is the state when a data import job is being executed for the cluster. AppStateImporting AppState = "importing" // AppStateNew represents a newly created cluster that has not yet been reconciled. AppStateNew AppState = "" // Deprecated: ExposeTypeInternal is an internal expose type. Please use ExposeTypeClusterIP instead ExposeTypeInternal ExposeType = "internal" // Deprecated: ExposeTypeExternal is an external expose type. Please use ExposeTypeLoadBalancer instead ExposeTypeExternal ExposeType = "external" // ExposeTypeClusterIP is the ClusterIP expose type. ExposeTypeClusterIP ExposeType = "ClusterIP" // ExposeTypeLoadBalancer is the LoadBalancer expose type. ExposeTypeLoadBalancer ExposeType = "LoadBalancer" // ExposeTypeNodePort is the NodePort expose type. ExposeTypeNodePort ExposeType = "NodePort" // ProxyTypeMongos is a mongos proxy type. ProxyTypeMongos ProxyType = "mongos" // ProxyTypeHAProxy is a HAProxy proxy type. ProxyTypeHAProxy ProxyType = "haproxy" // ProxyTypeProxySQL is a ProxySQL proxy type. ProxyTypeProxySQL ProxyType = "proxysql" // ProxyTypePGBouncer is a PGBouncer proxy type. ProxyTypePGBouncer ProxyType = "pgbouncer" )
const ( // ConditionTypeCannotResizeVolume is a condition type that indicates that the volume cannot be resized. ConditionTypeCannotResizeVolume = "CannotResizeVolume" // ConditionTypeVolumeResizeFailed is a condition type that indicates that the volume resize failed. ConditionTypeVolumeResizeFailed = "VolumeResizeFailed" // ConditionTypeImportFailed is a condition type that indicates that the data import failed. ConditionTypeImportFailed = "ImportFailed" )
const ( // ReasonStorageClassDoesNotSupportExpansion is a reason for condition ConditionTypeCannotExpandStorage // when the storage class does not support volume expansion. ReasonStorageClassDoesNotSupportExpansion = "StorageClassDoesNotSupportExpansion" // ReasonCannotShrinkVolume is a reason for condition ConditionTypeCannotResizeVolume // when the volume cannot be shrunk. ReasonCannotShrinkVolume = "CannotShrinkVolume" // ReasonVolumeResizeFailed is a reason for condition ConditionTypeVolumeResizeFailed // when the volume resize failed. ReasonVolumeResizeFailed = "VolumeResizeFailed" // ReasonDataImportJobFailed is a reason for condition ConditionTypeImportFailed. ReasonDataImportJobFailed = "DataImportJobFailed" )
const ( DateFormat = "2006-01-02T15:04:05Z" DateFormatSpace = "2006-01-02 15:04:05" )
DateFormat is the date format used in the user input.
const ( // DBEngineStateNotInstalled represents the state of engine when underlying operator is not installed. DBEngineStateNotInstalled EngineState = "not installed" // DBEngineStateInstalling represents the state of engine when underlying operator is installing. DBEngineStateInstalling EngineState = "installing" // DBEngineStateInstalled represents the state of engine when underlying operator is installed. DBEngineStateInstalled EngineState = "installed" // DBEngineStateUpgrading represents the state of engine when underlying operator is upgrading. DBEngineStateUpgrading EngineState = "upgrading" // DatabaseEnginePXC represents engine type for PXC clusters. DatabaseEnginePXC EngineType = "pxc" // DatabaseEnginePSMDB represents engine type for PSMDB clusters. DatabaseEnginePSMDB EngineType = "psmdb" // DatabaseEnginePostgresql represents engine type for Postgresql clusters. DatabaseEnginePostgresql EngineType = "postgresql" // DBEngineComponentRecommended represents recommended component status. DBEngineComponentRecommended ComponentStatus = "recommended" // DBEngineComponentAvailable represents available component status. DBEngineComponentAvailable ComponentStatus = "available" DBEngineComponentUnavailable ComponentStatus = "unavailable" // DBEngineComponentUnsupported represents unsupported component status. DBEngineComponentUnsupported ComponentStatus = "unsupported" )
const ( // PMMMonitoringType represents monitoring via PMM. PMMMonitoringType MonitoringType = "pmm" // MonitoringConfigCredentialsSecretUsernameKey is the credentials secret's key that contains the username. MonitoringConfigCredentialsSecretUsernameKey = "username" // MonitoringConfigCredentialsSecretAPIKeyKey is the credentials secret's key that contains the API key. MonitoringConfigCredentialsSecretAPIKeyKey = "apiKey" // PMM2ClientImage is the image for PMM2 client. PMM2ClientImage = "percona/pmm-client:2" // PMM3ClientImage is the image for PMM3 client. PMM3ClientImage = "percona/pmm-client:3" )
const ( // DBBackupStorageProtectionFinalizer must be set on DatabaseClusterBackup to ensure that storage is NOT cleaned up. // By default, this finalizer is not set, and the storage is cleaned up when the backup is deleted. DBBackupStorageProtectionFinalizer = "everest.percona.com/dbb-storage-protection" )
const ( // DatabaseOperatorUpgradeLockAnnotation is an annotation set on the database engine. // If present, the value should contain the timestamp of when the lock was set. // Everest operator automatically removes this annotation (lock) after 5mins. // This is done to ensure that the namespace/engine is not locked indefinitely in case an upgrade fails. DatabaseOperatorUpgradeLockAnnotation = "everest.percona.com/upgrade-lock" )
Variables ¶
var ( MemorySmallSize = resource.MustParse("2G") MemoryMediumSize = resource.MustParse("8G") MemoryLargeSize = resource.MustParse("32G") )
Prefefined database engine sizes based on memory.
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "everest.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 )
var ErrSchemaValidationFailure = errors.New("schema validation failed")
ErrSchemaValidationFailure is returned when the parameters do not conform to the DataImporter schema defined in .spec.config.
Functions ¶
This section is empty.
Types ¶
type AffinityConfig ¶
type AffinityConfig struct {
// PXC is the affinity configuration for the PXC DB clusters.
PXC *PXCAffinityConfig `json:"pxc,omitempty"`
// PostgreSQL is the affinity configuration for the PostgreSQL DB clusters.
PostgreSQL *PostgreSQLAffinityConfig `json:"postgresql,omitempty"`
// PSMDB is the affinity configuration for the PSMDB DB clusters.
PSMDB *PSMDBAffinityConfig `json:"psmdb,omitempty"`
}
AffinityConfig is a configuration for the affinity settings depending on the engine type. Only one of the fields should be set.
func (*AffinityConfig) DeepCopy ¶
func (in *AffinityConfig) DeepCopy() *AffinityConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AffinityConfig.
func (*AffinityConfig) DeepCopyInto ¶
func (in *AffinityConfig) DeepCopyInto(out *AffinityConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppState ¶
type AppState string
AppState is used to represent cluster's state.
func (AppState) WithCreatingState ¶
WithCreatingState transforms empty and unknown states to a single AppStateCreating. The upstream operators have the different statuses when a cluster is being created - pxc - "unknown", psmdb - "", pg does not have any empty status. Everest maps the DB status 1:1, and there is no point so far to create a separate mapping for each upstream operator separately only because we want to unify AppStateCreating.
type Applier ¶
type Applier interface {
Paused(paused bool)
AllowUnsafeConfig()
Engine() error
EngineFeatures() error
Proxy() error
DataSource() error
DataImport() error
Monitoring() error
PodSchedulingPolicy() error
Backup() error
Metadata() error
ResetDefaults() error
}
Applier provides methods for specifying how to apply a DatabaseCluster CR onto the CR(s) provided by the underlying DB operators (e.g. PerconaXtraDBCluster, PerconaServerMongoDB, PerconaPGCluster, etc.)
+kubebuilder:object:generate=false
type Backup ¶
type Backup struct {
// Enabled is a flag to enable backups
// Deprecated. Please use db.spec.backup.schedules[].enabled to control each schedule separately and db.spec.backup.pitr.enabled to control PITR.
Enabled bool `json:"enabled,omitempty"`
// Schedules is a list of backup schedules
Schedules []BackupSchedule `json:"schedules,omitempty"`
// PITR is the configuration of the point in time recovery
PITR PITRSpec `json:"pitr,omitempty"`
}
Backup is the backup configuration.
func (*Backup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup.
func (*Backup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupSchedule ¶
type BackupSchedule struct {
// Enabled is a flag to enable the schedule
Enabled bool `json:"enabled"`
// Name is the name of the schedule
Name string `json:"name"`
// RetentionCopies is the number of backup copies to retain
RetentionCopies int32 `json:"retentionCopies,omitempty"`
// Schedule is the cron schedule
Schedule string `json:"schedule"`
// BackupStorageName is the name of the BackupStorage CR that defines the
// storage location.
// The BackupStorage must be created in the same namespace as the DatabaseCluster.
BackupStorageName string `json:"backupStorageName"`
}
BackupSchedule is the backup schedule configuration.
func (*BackupSchedule) DeepCopy ¶
func (in *BackupSchedule) DeepCopy() *BackupSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSchedule.
func (*BackupSchedule) DeepCopyInto ¶
func (in *BackupSchedule) DeepCopyInto(out *BackupSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupSource ¶
type BackupSource struct {
// Path is the path to the backup file/directory.
// +kubebuilder:validation:Required
Path string `json:"path"`
// BackupStorageName is the name of the BackupStorage used for storing backups.
// The BackupStorage must be created in the same namespace as the DatabaseCluster.
// +kubebuilder:validation:Required
BackupStorageName string `json:"backupStorageName"`
}
BackupSource represents settings of a source where to get a backup to run restoration.
func (*BackupSource) DeepCopy ¶
func (in *BackupSource) DeepCopy() *BackupSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSource.
func (*BackupSource) DeepCopyInto ¶
func (in *BackupSource) DeepCopyInto(out *BackupSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupState ¶
type BackupState string
BackupState is used to represent the backup's state.
const ( BackupNew BackupState = "" BackupStarting BackupState = "Starting" BackupRunning BackupState = "Running" BackupFailed BackupState = "Failed" BackupSucceeded BackupState = "Succeeded" BackupDeleting BackupState = "Deleting" )
Known Backup states.
func GetDBBackupState ¶
func GetDBBackupState(upstreamBkp client.Object) BackupState
GetDBBackupState returns the backup state from the upstream backup object.
type BackupStorage ¶
type BackupStorage struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BackupStorageSpec `json:"spec,omitempty"`
// +kubebuilder:default={"inUse": false}
Status BackupStorageStatus `json:"status,omitempty"`
}
BackupStorage is the Schema for the backupstorages API.
func (*BackupStorage) DeepCopy ¶
func (in *BackupStorage) DeepCopy() *BackupStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorage.
func (*BackupStorage) DeepCopyInto ¶
func (in *BackupStorage) DeepCopyInto(out *BackupStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupStorage) DeepCopyObject ¶
func (in *BackupStorage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BackupStorage) DeleteUsedNamespace ¶
func (b *BackupStorage) DeleteUsedNamespace(namespace string) bool
DeleteUsedNamespace deletes the namespace from the usedNamespaces list.
func (*BackupStorage) UpdateNamespacesList ¶
func (b *BackupStorage) UpdateNamespacesList(namespace string) bool
UpdateNamespacesList updates the list of namespaces that use the backupStorage.
type BackupStorageList ¶
type BackupStorageList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BackupStorage `json:"items"`
}
BackupStorageList contains a list of BackupStorage.
func (*BackupStorageList) DeepCopy ¶
func (in *BackupStorageList) DeepCopy() *BackupStorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageList.
func (*BackupStorageList) DeepCopyInto ¶
func (in *BackupStorageList) DeepCopyInto(out *BackupStorageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupStorageList) DeepCopyObject ¶
func (in *BackupStorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupStorageProviderSpec ¶
type BackupStorageProviderSpec struct {
// A container name is a valid DNS name that conforms to the Azure naming rules.
ContainerName string `json:"containerName,omitempty"`
Bucket string `json:"bucket,omitempty"`
Prefix string `json:"prefix,omitempty"`
CredentialsSecret string `json:"credentialsSecret"`
Region string `json:"region,omitempty"`
EndpointURL string `json:"endpointUrl,omitempty"`
// STANDARD, NEARLINE, COLDLINE, ARCHIVE for GCP
// Hot (Frequently accessed or modified data), Cool (Infrequently accessed or modified data), Archive (Rarely accessed or modified data) for Azure.
StorageClass string `json:"storageClass,omitempty"`
}
BackupStorageProviderSpec represents set of settings to configure cloud provider.
func (*BackupStorageProviderSpec) DeepCopy ¶
func (in *BackupStorageProviderSpec) DeepCopy() *BackupStorageProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageProviderSpec.
func (*BackupStorageProviderSpec) DeepCopyInto ¶
func (in *BackupStorageProviderSpec) DeepCopyInto(out *BackupStorageProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageSpec ¶
type BackupStorageSpec struct {
// Type is a type of backup storage.
// +kubebuilder:validation:Enum=s3;azure
Type BackupStorageType `json:"type"`
// Bucket is a name of bucket.
Bucket string `json:"bucket"`
// Region is a region where the bucket is located.
Region string `json:"region,omitempty"`
// EndpointURL is an endpoint URL of backup storage.
EndpointURL string `json:"endpointURL,omitempty"`
// VerifyTLS is set to ensure TLS/SSL verification.
// If unspecified, the default value is true.
//
// +kubebuilder:default:=true
VerifyTLS *bool `json:"verifyTLS,omitempty"`
// ForcePathStyle is set to use path-style URLs.
// If unspecified, the default value is false.
//
// +kubebuilder:default:=false
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
// Description stores description of a backup storage.
Description string `json:"description,omitempty"`
// CredentialsSecretName is the name of the secret with credentials.
CredentialsSecretName string `json:"credentialsSecretName"`
// AllowedNamespaces is the list of namespaces where the operator will copy secrets provided in the CredentialsSecretsName.
//
// Deprecated: BackupStorages are now used only in the namespaces where they are created.
AllowedNamespaces []string `json:"allowedNamespaces,omitempty"`
}
BackupStorageSpec defines the desired state of BackupStorage.
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 BackupStorageStatus ¶
type BackupStorageStatus struct {
// Deprecated: BackupStorages are now used only in the namespaces where they are created.
UsedNamespaces map[string]bool `json:"usedNamespaces,omitempty"`
// InUse is a flag that indicates if any DB cluster uses the backup storage.
// +kubebuilder:default=false
InUse bool `json:"inUse,omitempty"`
// LastObservedGeneration is the most recent generation observed for this BackupStorage.
LastObservedGeneration int64 `json:"lastObservedGeneration,omitempty"`
}
BackupStorageStatus defines the observed state of BackupStorage.
func (*BackupStorageStatus) DeepCopy ¶
func (in *BackupStorageStatus) DeepCopy() *BackupStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageStatus.
func (*BackupStorageStatus) DeepCopyInto ¶
func (in *BackupStorageStatus) DeepCopyInto(out *BackupStorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageType ¶
type BackupStorageType string
BackupStorageType is a type of backup storage.
const ( // BackupStorageTypeS3 is a type of S3 object storage. BackupStorageTypeS3 BackupStorageType = "s3" // BackupStorageTypeAzure is a type of azure blob storage. BackupStorageTypeAzure BackupStorageType = "azure" )
type Component ¶
type Component struct {
Critical bool `json:"critical,omitempty"`
ImageHash string `json:"imageHash,omitempty"`
ImagePath string `json:"imagePath,omitempty"`
Status ComponentStatus `json:"status,omitempty"`
}
Component contains information of the database engine component. Database Engine component can be database engine, database proxy or tools image path.
func (*Component) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentStatus ¶
type ComponentStatus string
ComponentStatus represents status of the database engine component.
type ComponentsMap ¶
ComponentsMap is a map of database engine components.
func (ComponentsMap) BestVersion ¶
func (c ComponentsMap) BestVersion() string
BestVersion returns the best version for the components map. In case no versions are found, it returns an empty string.
func (ComponentsMap) DeepCopy ¶
func (in ComponentsMap) DeepCopy() ComponentsMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentsMap.
func (ComponentsMap) DeepCopyInto ¶
func (in ComponentsMap) DeepCopyInto(out *ComponentsMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ComponentsMap) FilterStatus ¶
func (c ComponentsMap) FilterStatus(statuses ...ComponentStatus) ComponentsMap
FilterStatus returns a new ComponentsMap with components filtered by status.
func (ComponentsMap) GetAllowedVersionsSorted ¶
func (c ComponentsMap) GetAllowedVersionsSorted() []string
GetAllowedVersionsSorted returns a sorted slice of allowed versions. An allowed version is a version whose status is either recommended or available. Allowed versions are sorted by status, with recommended versions first, followed by available versions. Versions with the same status are sorted by version in descending order. Most recent version is first.
func (ComponentsMap) GetSortedVersions ¶
func (c ComponentsMap) GetSortedVersions() []string
GetSortedVersions returns a sorted slice of versions. Versions are sorted in descending order. Most recent version is first.
type ConfigServer ¶
type ConfigServer struct {
// Replicas is the amount of configServers
// +kubebuilder:validation:Minimum:=1
Replicas int32 `json:"replicas"`
}
ConfigServer represents the sharding configuration server settings.
func (*ConfigServer) DeepCopy ¶
func (in *ConfigServer) DeepCopy() *ConfigServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigServer.
func (*ConfigServer) DeepCopyInto ¶
func (in *ConfigServer) DeepCopyInto(out *ConfigServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImportJob ¶
type DataImportJob struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DataImportJobSpec `json:"spec,omitempty"`
Status DataImportJobStatus `json:"status,omitempty"`
}
DataImportJob is the schema for the dataimportjobs API.
func (*DataImportJob) DeepCopy ¶
func (in *DataImportJob) DeepCopy() *DataImportJob
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportJob.
func (*DataImportJob) DeepCopyInto ¶
func (in *DataImportJob) DeepCopyInto(out *DataImportJob)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataImportJob) DeepCopyObject ¶
func (in *DataImportJob) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataImportJobList ¶
type DataImportJobList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DataImportJob `json:"items"`
}
DataImportJobList contains a list of DataImportJob. +kubebuilder:object:root=true
func (*DataImportJobList) DeepCopy ¶
func (in *DataImportJobList) DeepCopy() *DataImportJobList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportJobList.
func (*DataImportJobList) DeepCopyInto ¶
func (in *DataImportJobList) DeepCopyInto(out *DataImportJobList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataImportJobList) DeepCopyObject ¶
func (in *DataImportJobList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataImportJobS3Source ¶
type DataImportJobS3Source struct {
// Bucket is the name of the S3 bucket.
// +kubebuilder:validation:Required
Bucket string `json:"bucket,omitempty"`
// Region is the region of the S3 bucket.
// +kubebuilder:validation:Required
Region string `json:"region,omitempty"`
// EndpointURL is an endpoint URL of backup storage.
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="isURL(self)",message="endpointURL must be a valid URL"
EndpointURL string `json:"endpointURL,omitempty"`
// VerifyTLS is set to ensure TLS/SSL verification.
// If unspecified, the default value is true.
//
// +kubebuilder:default:=true
VerifyTLS *bool `json:"verifyTLS,omitempty"`
// ForcePathStyle is set to use path-style URLs.
// If unspecified, the default value is false.
//
// +kubebuilder:default:=false
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
// CredentialsSecreName is the reference to the secret containing the S3 credentials.
// The Secret must contain the keys `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.
// +kubebuilder:validation:Required
CredentialsSecretName string `json:"credentialsSecretName,omitempty"`
// AccessKeyID allows specifying the S3 access key ID inline.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `credentialsSecretName`
// and empties this field.
// This field is not stored in the API.
// +optional
AccessKeyID string `json:"accessKeyId,omitempty"`
// SecretAccessKey allows specifying the S3 secret access key inline.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `credentialsSecretName`
// and empties this field.
// This field is not stored in the API.
// +optional
SecretAccessKey string `json:"secretAccessKey,omitempty"`
}
DataImportJobS3Source defines the S3 source for the data import job.
func (*DataImportJobS3Source) DeepCopy ¶
func (in *DataImportJobS3Source) DeepCopy() *DataImportJobS3Source
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportJobS3Source.
func (*DataImportJobS3Source) DeepCopyInto ¶
func (in *DataImportJobS3Source) DeepCopyInto(out *DataImportJobS3Source)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImportJobSource ¶
type DataImportJobSource struct {
// S3 contains the S3 information for the data import.
// +optional
S3 *DataImportJobS3Source `json:"s3,omitempty"`
// Path is the path to the directory to import the data from.
// This may be a path to a file or a directory, depending on the data importer.
// Only absolute file paths are allowed. Leading and trailing '/' are optional.
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self.matches('^/?([^/]+(/[^/]+)*)/?$')",message="path must be an absolute file or directory path"
Path string `json:"path,omitempty"`
}
DataImportJobSource defines the source of the data to import.
func (*DataImportJobSource) DeepCopy ¶
func (in *DataImportJobSource) DeepCopy() *DataImportJobSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportJobSource.
func (*DataImportJobSource) DeepCopyInto ¶
func (in *DataImportJobSource) DeepCopyInto(out *DataImportJobSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImportJobSpec ¶
type DataImportJobSpec struct {
// TargetClusterName is the reference to the target cluster.
// +kubebuilder:validation:Required
TargetClusterName string `json:"targetClusterName,omitempty"`
*DataImportJobTemplate `json:",inline"`
}
DataImportJobSpec defines the desired state of DataImportJob.
func (*DataImportJobSpec) DeepCopy ¶
func (in *DataImportJobSpec) DeepCopy() *DataImportJobSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportJobSpec.
func (*DataImportJobSpec) DeepCopyInto ¶
func (in *DataImportJobSpec) DeepCopyInto(out *DataImportJobSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImportJobState ¶
type DataImportJobState string
DataImportJobState is a type representing the state of a data import job.
const ( // DataImportJobStatePending indicates that the data import job is pending. DataImportJobStatePending DataImportJobState = "Pending" // DataImportJobStateRunning indicates that the data import job is currently running. DataImportJobStateRunning DataImportJobState = "Running" // DataImportJobStateSucceeded indicates that the data import job has completed successfully. DataImportJobStateSucceeded DataImportJobState = "Succeeded" // DataImportJobStateFailed indicates that the data import job has failed. // Once the job is in this phase, it cannot be retried. DataImportJobStateFailed DataImportJobState = "Failed" // DataImportJobStateError indicates that the data import job has encountered an error. // This phase is used for transient errors that may allow the job to be retried. DataImportJobStateError DataImportJobState = "Error" )
type DataImportJobStatus ¶
type DataImportJobStatus struct {
// StartedAt is the time when the data import job started.
StartedAt *metav1.Time `json:"startedAt,omitempty"`
// CompletedAt is the time when the data import job completed successfully.
CompletedAt *metav1.Time `json:"completedAt,omitempty"`
// LastObservedGeneration is the last observed generation of the data import job.
LastObservedGeneration int64 `json:"lastObservedGeneration,omitempty"`
// State is the current state of the data import job.
State DataImportJobState `json:"state,omitempty"`
// Message is the message of the data import job.
Message string `json:"message,omitempty"`
// JobName is the reference to the job that is running the data import.
// +optional
JobName string `json:"jobName,omitempty"`
}
DataImportJobStatus defines the observed state of DataImportJob.
func (*DataImportJobStatus) DeepCopy ¶
func (in *DataImportJobStatus) DeepCopy() *DataImportJobStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportJobStatus.
func (*DataImportJobStatus) DeepCopyInto ¶
func (in *DataImportJobStatus) DeepCopyInto(out *DataImportJobStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImportJobTemplate ¶
type DataImportJobTemplate struct {
// DataImporterName is the data importer to use for the import.
// +kubebuilder:validation:Required
DataImporterName string `json:"dataImporterName,omitempty"`
// Source is the source of the data to import.
// +kubebuilder:validation:Required
Source *DataImportJobSource `json:"source,omitempty"`
// Config defines the configuration for the data import job.
// These options are specific to the DataImporter being used and must conform to
// the schema defined in the DataImporter's .spec.config.openAPIV3Schema.
// +kubebuilder:pruning:PreserveUnknownFields
// +optional
Config *runtime.RawExtension `json:"config,omitempty"`
}
DataImportJobTemplate defines a shared template for the data import job.
func (*DataImportJobTemplate) DeepCopy ¶
func (in *DataImportJobTemplate) DeepCopy() *DataImportJobTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportJobTemplate.
func (*DataImportJobTemplate) DeepCopyInto ¶
func (in *DataImportJobTemplate) DeepCopyInto(out *DataImportJobTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImporter ¶
type DataImporter struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DataImporterSpec `json:"spec,omitempty"`
Status DataImporterStatus `json:"status,omitempty"`
}
DataImporter defines a reusable strategy for importing data into a DatabaseCluster.
func (*DataImporter) DeepCopy ¶
func (in *DataImporter) DeepCopy() *DataImporter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImporter.
func (*DataImporter) DeepCopyInto ¶
func (in *DataImporter) DeepCopyInto(out *DataImporter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataImporter) DeepCopyObject ¶
func (in *DataImporter) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataImporterConfig ¶
type DataImporterConfig struct {
// OpenAPIV3Schema is the OpenAPI v3 schema of the data importer.
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
// +optional
OpenAPIV3Schema *apiextensionsv1.JSONSchemaProps `json:"openAPIV3Schema,omitempty"`
}
DataImporterConfig contains additional configuration defined for the data importer.
func (*DataImporterConfig) DeepCopy ¶
func (in *DataImporterConfig) DeepCopy() *DataImporterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImporterConfig.
func (*DataImporterConfig) DeepCopyInto ¶
func (in *DataImporterConfig) DeepCopyInto(out *DataImporterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataImporterConfig) Validate ¶
func (cfg *DataImporterConfig) Validate(params *runtime.RawExtension) error
Validate the config for the data importer.
type DataImporterDatabaseClusterConstraints ¶
type DataImporterDatabaseClusterConstraints struct {
// RequiredFields contains a list of fields that must be set in the DatabaseCluster spec.
// Each key is a JSON path expressions that points to a field in the DatabaseCluster spec.
// For example, ".spec.engine.type" or ".spec.dataSource.dataImport.config.someField".
// +optional
RequiredFields []string `json:"requiredFields,omitempty"`
}
DataImporterDatabaseClusterConstraints defines compatibility requirements and prerequisites that must be satisfied by a DatabaseCluster before this data importer can be used with it.
func (*DataImporterDatabaseClusterConstraints) DeepCopy ¶
func (in *DataImporterDatabaseClusterConstraints) DeepCopy() *DataImporterDatabaseClusterConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImporterDatabaseClusterConstraints.
func (*DataImporterDatabaseClusterConstraints) DeepCopyInto ¶
func (in *DataImporterDatabaseClusterConstraints) DeepCopyInto(out *DataImporterDatabaseClusterConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImporterJobSpec ¶
type DataImporterJobSpec struct {
// Image is the image of the data importer.
Image string `json:"image,omitempty"`
// Command is the command to run the data importer.
// +optional
Command []string `json:"command,omitempty"`
}
DataImporterJobSpec defines the specification for the Kubernetes job.
func (*DataImporterJobSpec) DeepCopy ¶
func (in *DataImporterJobSpec) DeepCopy() *DataImporterJobSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImporterJobSpec.
func (*DataImporterJobSpec) DeepCopyInto ¶
func (in *DataImporterJobSpec) DeepCopyInto(out *DataImporterJobSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImporterList ¶
type DataImporterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DataImporter `json:"items"`
}
DataImporterList contains a list of DataImporter. +kubebuilder:object:root=true
func (*DataImporterList) DeepCopy ¶
func (in *DataImporterList) DeepCopy() *DataImporterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImporterList.
func (*DataImporterList) DeepCopyInto ¶
func (in *DataImporterList) DeepCopyInto(out *DataImporterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataImporterList) DeepCopyObject ¶
func (in *DataImporterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataImporterSpec ¶
type DataImporterSpec struct {
// DisplayName is a human-readable name for the data importer.
DisplayName string `json:"displayName,omitempty"`
// Description is the description of the data importer.
Description string `json:"description,omitempty"`
// SupportedEngines is the list of engines that the data importer supports.
SupportedEngines EngineList `json:"supportedEngines,omitempty"`
// Config contains additional configuration defined for the data importer.
Config DataImporterConfig `json:"config,omitempty"`
// JobSpec is the specification of the data importer job.
JobSpec DataImporterJobSpec `json:"jobSpec,omitempty"`
// DatabaseClusterConstraints defines compatibility requirements and prerequisites that must be satisfied
// by a DatabaseCluster before this data importer can be used with it. This allows the data importer to
// express specific requirements about the database configuration needed for successful import operations,
// such as required database fields, specific engine configurations, or other database properties.
// When a DatabaseCluster references this data importer, the operator will validate the DatabaseCluster
// against these constraints before proceeding with the import operation.
// +optional
DatabaseClusterConstraints DataImporterDatabaseClusterConstraints `json:"databaseClusterConstraints,omitempty"`
// Permissions defines the permissions required by the data importer.
// These permissions are used to generate a Role for the data importer job.
// +optional
Permissions []rbacv1.PolicyRule `json:"permissions,omitempty"`
// ClusterPermissions defines the cluster-wide permissions required by the data importer.
// These permissions are used to generate a ClusterRole for the data importer job.
// +optional
ClusterPermissions []rbacv1.PolicyRule `json:"clusterPermissions,omitempty"`
}
DataImporterSpec defines the specification of a DataImporter.
func (*DataImporterSpec) DeepCopy ¶
func (in *DataImporterSpec) DeepCopy() *DataImporterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImporterSpec.
func (*DataImporterSpec) DeepCopyInto ¶
func (in *DataImporterSpec) DeepCopyInto(out *DataImporterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImporterStatus ¶
type DataImporterStatus struct{}
DataImporterStatus defines the status of the DataImporter.
func (*DataImporterStatus) DeepCopy ¶
func (in *DataImporterStatus) DeepCopy() *DataImporterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImporterStatus.
func (*DataImporterStatus) DeepCopyInto ¶
func (in *DataImporterStatus) DeepCopyInto(out *DataImporterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataSource ¶
type DataSource struct {
// DBClusterBackupName is the name of the DB cluster backup to restore from
DBClusterBackupName string `json:"dbClusterBackupName,omitempty"`
// BackupSource is the backup source to restore from
BackupSource *BackupSource `json:"backupSource,omitempty"`
// PITR is the point-in-time recovery configuration
PITR *PITR `json:"pitr,omitempty"`
// DataImport allows importing data from an external backup source.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message=".spec.dataSource.dataImport is immutable"
DataImport *DataImportJobTemplate `json:"dataImport,omitempty"`
}
DataSource is the data source configuration.
func (*DataSource) DeepCopy ¶
func (in *DataSource) DeepCopy() *DataSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataSource.
func (*DataSource) DeepCopyInto ¶
func (in *DataSource) DeepCopyInto(out *DataSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataSource) IntoDBRestoreDataSource ¶
func (in *DataSource) IntoDBRestoreDataSource() DatabaseClusterRestoreDataSource
IntoDBRestoreDataSource converts the DataSource into a DatabaseClusterRestoreDataSource.
type DatabaseCluster ¶
type DatabaseCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatabaseClusterSpec `json:"spec,omitempty"`
Status DatabaseClusterStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=db;dbc;dbcluster +kubebuilder:printcolumn:name="Size",type="string",JSONPath=".status.size" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.ready" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.status" +kubebuilder:printcolumn:name="Hostname",type="string",JSONPath=".status.hostname" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:validation:XValidation:rule="!has(self.?status.recommendedCRVersion) || self.spec.engine.version == oldSelf.spec.engine.version",message="engine version may not be updated when a CRVersion update is pending"
DatabaseCluster is the Schema for the databaseclusters API.
func (*DatabaseCluster) CanRestoreFromBackup ¶ added in v1.11.0
func (dbc *DatabaseCluster) CanRestoreFromBackup() bool
CanRestoreFromBackup returns true if the cluster can be restored from a backup in the current state.
func (*DatabaseCluster) DeepCopy ¶
func (in *DatabaseCluster) DeepCopy() *DatabaseCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseCluster.
func (*DatabaseCluster) DeepCopyInto ¶
func (in *DatabaseCluster) DeepCopyInto(out *DatabaseCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseCluster) DeepCopyObject ¶
func (in *DatabaseCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatabaseClusterBackup ¶
type DatabaseClusterBackup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatabaseClusterBackupSpec `json:"spec,omitempty"`
Status DatabaseClusterBackupStatus `json:"status,omitempty"`
}
DatabaseClusterBackup is the Schema for the databaseclusterbackups API.
func (*DatabaseClusterBackup) DeepCopy ¶
func (in *DatabaseClusterBackup) DeepCopy() *DatabaseClusterBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterBackup.
func (*DatabaseClusterBackup) DeepCopyInto ¶
func (in *DatabaseClusterBackup) DeepCopyInto(out *DatabaseClusterBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseClusterBackup) DeepCopyObject ¶
func (in *DatabaseClusterBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DatabaseClusterBackup) HasCompleted ¶
func (b *DatabaseClusterBackup) HasCompleted() bool
HasCompleted returns true if the backup has completed.
func (*DatabaseClusterBackup) HasFailed ¶
func (b *DatabaseClusterBackup) HasFailed() bool
HasFailed returns true if the backup has failed.
func (*DatabaseClusterBackup) HasSucceeded ¶
func (b *DatabaseClusterBackup) HasSucceeded() bool
HasSucceeded returns true if the backup has succeeded.
func (*DatabaseClusterBackup) IsInProgress ¶ added in v1.11.0
func (b *DatabaseClusterBackup) IsInProgress() bool
IsInProgress returns true if the backup process is in progress.
type DatabaseClusterBackupList ¶
type DatabaseClusterBackupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatabaseClusterBackup `json:"items"`
}
DatabaseClusterBackupList contains a list of DatabaseClusterBackup.
func (*DatabaseClusterBackupList) DeepCopy ¶
func (in *DatabaseClusterBackupList) DeepCopy() *DatabaseClusterBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterBackupList.
func (*DatabaseClusterBackupList) DeepCopyInto ¶
func (in *DatabaseClusterBackupList) DeepCopyInto(out *DatabaseClusterBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseClusterBackupList) DeepCopyObject ¶
func (in *DatabaseClusterBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatabaseClusterBackupSpec ¶
type DatabaseClusterBackupSpec struct {
// DBClusterName is the original database cluster name.
DBClusterName string `json:"dbClusterName"`
// BackupStorageName is the name of the BackupStorage used for backups.
// The BackupStorage must be created in the same namespace as the DatabaseCluster.
BackupStorageName string `json:"backupStorageName"`
}
DatabaseClusterBackupSpec defines the desired state of DatabaseClusterBackup.
func (*DatabaseClusterBackupSpec) DeepCopy ¶
func (in *DatabaseClusterBackupSpec) DeepCopy() *DatabaseClusterBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterBackupSpec.
func (*DatabaseClusterBackupSpec) DeepCopyInto ¶
func (in *DatabaseClusterBackupSpec) DeepCopyInto(out *DatabaseClusterBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseClusterBackupStatus ¶
type DatabaseClusterBackupStatus struct {
// Size is the size of the backup.
Size *string `json:"size,omitempty"`
// Created is the timestamp of the upstream backup's creation.
CreatedAt *metav1.Time `json:"created,omitempty"`
// Completed is the time when the job was completed.
CompletedAt *metav1.Time `json:"completed,omitempty"`
// State is the DatabaseBackup state.
State BackupState `json:"state,omitempty"`
// Destination is the full path to the backup.
Destination *string `json:"destination,omitempty"`
// Gaps identifies if there are gaps detected in the PITR logs
Gaps bool `json:"gaps"`
// LatestRestorableTime is the latest time that can be used for PITR restore
LatestRestorableTime *metav1.Time `json:"latestRestorableTime,omitempty"`
// InUse is a flag that indicates if this restore resource is being used to restore DB cluster from backup.
// +kubebuilder:default=false
InUse bool `json:"inUse,omitempty"`
}
DatabaseClusterBackupStatus defines the observed state of DatabaseClusterBackup.
func (*DatabaseClusterBackupStatus) DeepCopy ¶
func (in *DatabaseClusterBackupStatus) DeepCopy() *DatabaseClusterBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterBackupStatus.
func (*DatabaseClusterBackupStatus) DeepCopyInto ¶
func (in *DatabaseClusterBackupStatus) DeepCopyInto(out *DatabaseClusterBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseClusterList ¶
type DatabaseClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatabaseCluster `json:"items"`
}
DatabaseClusterList contains a list of DatabaseCluster.
func (*DatabaseClusterList) DeepCopy ¶
func (in *DatabaseClusterList) DeepCopy() *DatabaseClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterList.
func (*DatabaseClusterList) DeepCopyInto ¶
func (in *DatabaseClusterList) DeepCopyInto(out *DatabaseClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseClusterList) DeepCopyObject ¶
func (in *DatabaseClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatabaseClusterRestore ¶
type DatabaseClusterRestore struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatabaseClusterRestoreSpec `json:"spec,omitempty"`
Status DatabaseClusterRestoreStatus `json:"status,omitempty"`
}
DatabaseClusterRestore is the Schema for the databaseclusterrestores API.
func (*DatabaseClusterRestore) DeepCopy ¶
func (in *DatabaseClusterRestore) DeepCopy() *DatabaseClusterRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterRestore.
func (*DatabaseClusterRestore) DeepCopyInto ¶
func (in *DatabaseClusterRestore) DeepCopyInto(out *DatabaseClusterRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseClusterRestore) DeepCopyObject ¶
func (in *DatabaseClusterRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DatabaseClusterRestore) IsComplete ¶
func (r *DatabaseClusterRestore) IsComplete() bool
IsComplete indicates if the restoration process is complete (regardless successful or not).
func (*DatabaseClusterRestore) IsInProgress ¶
func (r *DatabaseClusterRestore) IsInProgress() bool
IsInProgress indicates if the restoration process is in progress.
type DatabaseClusterRestoreDataSource ¶
type DatabaseClusterRestoreDataSource struct {
// DBClusterBackupName is the name of the DB cluster backup to restore from.
// Shall be set either this field or BackupSource.
// +kubebuilder:validation:Optional
DBClusterBackupName string `json:"dbClusterBackupName,omitempty"`
// BackupSource is the backup source to restore from.
// Shall be set either this field or DBClusterBackupName.
// +kubebuilder:validation:Optional
BackupSource *BackupSource `json:"backupSource,omitempty"`
// PITR is the point-in-time recovery configuration.
// May be set in addition to DBClusterBackupName or BackupSource to perform PITR restore.
// +kubebuilder:validation:Optional
PITR *PITR `json:"pitr,omitempty"`
}
DatabaseClusterRestoreDataSource defines a data source for restoration.
func (*DatabaseClusterRestoreDataSource) DeepCopy ¶
func (in *DatabaseClusterRestoreDataSource) DeepCopy() *DatabaseClusterRestoreDataSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterRestoreDataSource.
func (*DatabaseClusterRestoreDataSource) DeepCopyInto ¶
func (in *DatabaseClusterRestoreDataSource) DeepCopyInto(out *DatabaseClusterRestoreDataSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseClusterRestoreDataSource) IntoDataSource ¶
func (in *DatabaseClusterRestoreDataSource) IntoDataSource() *DataSource
IntoDataSource converts the DatabaseClusterRestoreDataSource into a DataSource.
type DatabaseClusterRestoreList ¶
type DatabaseClusterRestoreList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatabaseClusterRestore `json:"items"`
}
DatabaseClusterRestoreList contains a list of DatabaseClusterRestore.
func (*DatabaseClusterRestoreList) DeepCopy ¶
func (in *DatabaseClusterRestoreList) DeepCopy() *DatabaseClusterRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterRestoreList.
func (*DatabaseClusterRestoreList) DeepCopyInto ¶
func (in *DatabaseClusterRestoreList) DeepCopyInto(out *DatabaseClusterRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseClusterRestoreList) DeepCopyObject ¶
func (in *DatabaseClusterRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatabaseClusterRestoreSpec ¶
type DatabaseClusterRestoreSpec struct {
// DBClusterName defines the target database cluster name that needs to be restored from backup.
// +kubebuilder:validation:Required
DBClusterName string `json:"dbClusterName"`
// DataSource defines a data source for restoration.
// +kubebuilder:validation:Required
DataSource DatabaseClusterRestoreDataSource `json:"dataSource"`
}
DatabaseClusterRestoreSpec defines the desired state of DatabaseClusterRestore.
func (*DatabaseClusterRestoreSpec) DeepCopy ¶
func (in *DatabaseClusterRestoreSpec) DeepCopy() *DatabaseClusterRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterRestoreSpec.
func (*DatabaseClusterRestoreSpec) DeepCopyInto ¶
func (in *DatabaseClusterRestoreSpec) DeepCopyInto(out *DatabaseClusterRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseClusterRestoreStatus ¶
type DatabaseClusterRestoreStatus struct {
State RestoreState `json:"state,omitempty"`
CompletedAt *metav1.Time `json:"completed,omitempty"`
Message string `json:"message,omitempty"`
// InUse is a flag that indicates if this restore resource is being used to restore DB cluster from backup.
// +kubebuilder:default=false
InUse bool `json:"inUse,omitempty"`
}
DatabaseClusterRestoreStatus defines the observed state of DatabaseClusterRestore.
func (*DatabaseClusterRestoreStatus) DeepCopy ¶
func (in *DatabaseClusterRestoreStatus) DeepCopy() *DatabaseClusterRestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterRestoreStatus.
func (*DatabaseClusterRestoreStatus) DeepCopyInto ¶
func (in *DatabaseClusterRestoreStatus) DeepCopyInto(out *DatabaseClusterRestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseClusterSpec ¶
type DatabaseClusterSpec struct {
// Paused is a flag to stop the cluster
Paused bool `json:"paused,omitempty"`
// AllowUnsafeConfiguration field used to ensure that the user can create configurations unfit for production use.
//
// Deprecated: AllowUnsafeConfiguration will not be supported in the future releases.
AllowUnsafeConfiguration bool `json:"allowUnsafeConfiguration,omitempty"`
// Engine is the database engine specification
Engine Engine `json:"engine"`
// Proxy is the proxy specification. If not set, an appropriate
// proxy specification will be applied for the given engine. A
// common use case for setting this field is to control the
// external access to the database cluster.
Proxy Proxy `json:"proxy,omitempty"`
// DataSource defines a data source for bootstraping a new cluster
DataSource *DataSource `json:"dataSource,omitempty"`
// Backup is the backup specification
Backup Backup `json:"backup,omitempty"`
// Monitoring is the monitoring configuration
Monitoring *Monitoring `json:"monitoring,omitempty"`
// Sharding is the sharding configuration. PSMDB-only
Sharding *Sharding `json:"sharding,omitempty"`
// PodSchedulingPolicyName is the name of the PodSchedulingPolicy CR that defines rules for DB cluster pods allocation across the cluster.
PodSchedulingPolicyName string `json:"podSchedulingPolicyName,omitempty"`
// EngineFeatures represents configuration of additional features for the database engine.
EngineFeatures *EngineFeatures `json:"engineFeatures,omitempty"`
}
DatabaseClusterSpec defines the desired state of DatabaseCluster.
func (*DatabaseClusterSpec) DeepCopy ¶
func (in *DatabaseClusterSpec) DeepCopy() *DatabaseClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterSpec.
func (*DatabaseClusterSpec) DeepCopyInto ¶
func (in *DatabaseClusterSpec) DeepCopyInto(out *DatabaseClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseClusterStatus ¶
type DatabaseClusterStatus struct {
// ObservedGeneration is the most recent generation observed for this DatabaseCluster.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Status is the status of the cluster
Status AppState `json:"status,omitempty"`
// Hostname is the hostname where the cluster can be reached
Hostname string `json:"hostname,omitempty"`
// Port is the port where the cluster can be reached
Port int32 `json:"port,omitempty"`
// Ready is the number of ready pods
Ready int32 `json:"ready,omitempty"`
// Size is the total number of pods
Size int32 `json:"size,omitempty"`
// Message is extra information about the cluster
Message string `json:"message,omitempty"`
// ActiveStorage is the storage used in cluster (psmdb only)
ActiveStorage string `json:"activeStorage,omitempty"`
// CRVersion is the observed version of the CR used with the underlying operator.
CRVersion string `json:"crVersion,omitempty"`
// RecommendedCRVersion indicates the target version that the underlying CR should be updated to.
// When this field is set, it means the CR is running an outdated version and requires an update.
// The following restrictions apply until the CR is updated to the recommended version:
// - The operator cannot be upgraded
// - The database engine version (.spec.engine.version) cannot be modified
// This field is unset when the CR is already running at the latest recommended version.
RecommendedCRVersion *string `json:"recommendedCRVersion,omitempty"`
// Details provides full status of the upstream cluster as a plain text.
Details string `json:"details,omitempty"`
// DataImportJobName refers to the DataImportJob that is used to import data into the cluster.
// This is set only when .spec.dataSource.dataImport is set.
// +optional
DataImportJobName *string `json:"dataImportJobName,omitempty"`
// Conditions contains the observed conditions of the DatabaseCluster.
Conditions []metav1.Condition `json:"conditions,omitempty"`
EngineFeatures *EngineFeaturesStatus `json:"engineFeatures,omitempty"`
}
DatabaseClusterStatus defines the observed state of DatabaseCluster.
func (*DatabaseClusterStatus) DeepCopy ¶
func (in *DatabaseClusterStatus) DeepCopy() *DatabaseClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseClusterStatus.
func (*DatabaseClusterStatus) DeepCopyInto ¶
func (in *DatabaseClusterStatus) DeepCopyInto(out *DatabaseClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseEngine ¶
type DatabaseEngine struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatabaseEngineSpec `json:"spec,omitempty"`
Status DatabaseEngineStatus `json:"status,omitempty"`
}
DatabaseEngine is the Schema for the databaseengines API.
func (*DatabaseEngine) BestBackupVersion ¶
func (d *DatabaseEngine) BestBackupVersion(engineVersion string) string
BestBackupVersion returns the best backup version for a given engine version.
func (*DatabaseEngine) BestEngineVersion ¶
func (d *DatabaseEngine) BestEngineVersion() string
BestEngineVersion returns the best engine version for the database engine.
func (*DatabaseEngine) DeepCopy ¶
func (in *DatabaseEngine) DeepCopy() *DatabaseEngine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseEngine.
func (*DatabaseEngine) DeepCopyInto ¶
func (in *DatabaseEngine) DeepCopyInto(out *DatabaseEngine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseEngine) DeepCopyObject ¶
func (in *DatabaseEngine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatabaseEngineList ¶
type DatabaseEngineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatabaseEngine `json:"items"`
}
DatabaseEngineList contains a list of DatabaseEngine.
func (*DatabaseEngineList) DeepCopy ¶
func (in *DatabaseEngineList) DeepCopy() *DatabaseEngineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseEngineList.
func (*DatabaseEngineList) DeepCopyInto ¶
func (in *DatabaseEngineList) DeepCopyInto(out *DatabaseEngineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseEngineList) DeepCopyObject ¶
func (in *DatabaseEngineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DatabaseEngineList) EngineTypes ¶
func (del *DatabaseEngineList) EngineTypes() []EngineType
EngineTypes returns the names of all database engines in the list.
func (*DatabaseEngineList) Get ¶
func (del *DatabaseEngineList) Get(dbEngineName EngineType) (DatabaseEngine, bool)
Get checks if the list contains the specified db engine and returns it.
type DatabaseEngineSpec ¶
type DatabaseEngineSpec struct {
Type EngineType `json:"type"`
AllowedVersions []string `json:"allowedVersions,omitempty"`
// SecretKeys contains the definition of the various Secrets that
// the given DBEngine supports.
// This information acts like metadata for the Everest UI to guide the users
// in filling out the correct Secret keys for their clusters.
// +optional
SecretKeys SecretKeys `json:"secretKeys,omitempty"`
}
DatabaseEngineSpec is a spec for a database engine.
func (*DatabaseEngineSpec) DeepCopy ¶
func (in *DatabaseEngineSpec) DeepCopy() *DatabaseEngineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseEngineSpec.
func (*DatabaseEngineSpec) DeepCopyInto ¶
func (in *DatabaseEngineSpec) DeepCopyInto(out *DatabaseEngineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseEngineStatus ¶
type DatabaseEngineStatus struct {
State EngineState `json:"status,omitempty"`
OperatorVersion string `json:"operatorVersion,omitempty"`
AvailableVersions Versions `json:"availableVersions,omitempty"`
PendingOperatorUpgrades []OperatorUpgrade `json:"pendingOperatorUpgrades,omitempty"`
// OperatorUpgrade contains the status of the operator upgrade.
OperatorUpgrade *OperatorUpgradeStatus `json:"operatorUpgrade,omitempty"`
}
DatabaseEngineStatus defines the observed state of DatabaseEngine.
func (*DatabaseEngineStatus) DeepCopy ¶
func (in *DatabaseEngineStatus) DeepCopy() *DatabaseEngineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseEngineStatus.
func (*DatabaseEngineStatus) DeepCopyInto ¶
func (in *DatabaseEngineStatus) DeepCopyInto(out *DatabaseEngineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseEngineStatus) GetNextUpgradeVersion ¶
func (s *DatabaseEngineStatus) GetNextUpgradeVersion() string
GetNextUpgradeVersion gets the next version of the operator to upgrade to.
func (*DatabaseEngineStatus) GetPendingUpgrade ¶
func (s *DatabaseEngineStatus) GetPendingUpgrade(targetVersion string) *OperatorUpgrade
GetPendingUpgrade gets a reference to the pending OperatorUpgrade for the given targetVersion.
type Engine ¶
type Engine struct {
// Type is the engine type
// +kubebuilder:validation:Enum:=pxc;postgresql;psmdb
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message=".spec.engine.type cannot be changed"
Type EngineType `json:"type"`
// Version is the engine version
Version string `json:"version,omitempty"`
// Replicas is the number of engine replicas
// +kubebuilder:validation:Minimum:=1
Replicas int32 `json:"replicas,omitempty"`
// Storage is the engine storage configuration
Storage Storage `json:"storage"`
// Resources are the resource limits for each engine replica.
// If not set, resource limits are not imposed
Resources Resources `json:"resources,omitempty"`
// Config is the engine configuration
Config string `json:"config,omitempty"`
// UserSecretsName is the name of the secret containing the user secrets
UserSecretsName string `json:"userSecretsName,omitempty"`
// CRVersion is the desired version of the CR to use with the
// underlying operator.
// If unspecified, everest-operator will use the same version as the operator.
//
// NOTE: Updating this property post installation may lead to a restart of the cluster.
// +optional
CRVersion *string `json:"crVersion,omitempty"`
}
Engine is the engine configuration.
func (*Engine) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Engine.
func (*Engine) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EngineFeatures ¶
type EngineFeatures struct {
// PSMDB represents additional features for the PSMDB engine.
PSMDB *PSMDBEngineFeatures `json:"psmdb,omitempty"`
}
EngineFeatures represents configuration of additional features for the database engine.
func (*EngineFeatures) DeepCopy ¶
func (in *EngineFeatures) DeepCopy() *EngineFeatures
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EngineFeatures.
func (*EngineFeatures) DeepCopyInto ¶
func (in *EngineFeatures) DeepCopyInto(out *EngineFeatures)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EngineFeaturesStatus ¶
type EngineFeaturesStatus struct {
// PSMDB represents additional features statuses for the PSMDB engine.
PSMDB *PSMDBEngineFeaturesStatus `json:"psmdb,omitempty"`
}
EngineFeaturesStatus represents additional features statuses for the database engine.
func (*EngineFeaturesStatus) DeepCopy ¶
func (in *EngineFeaturesStatus) DeepCopy() *EngineFeaturesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EngineFeaturesStatus.
func (*EngineFeaturesStatus) DeepCopyInto ¶
func (in *EngineFeaturesStatus) DeepCopyInto(out *EngineFeaturesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EngineList ¶
type EngineList []EngineType
EngineList is a type alias for a list of EngineType.
func (EngineList) DeepCopy ¶
func (in EngineList) DeepCopy() EngineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EngineList.
func (EngineList) DeepCopyInto ¶
func (in EngineList) DeepCopyInto(out *EngineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EngineList) Has ¶
func (e EngineList) Has(engine EngineType) bool
Has checks if the list contains the specified engine.
type EngineSize ¶
type EngineSize string
EngineSize is used to represent the size of a database engine based on memory.
const ( // EngineSizeSmall represents a small engine size. EngineSizeSmall EngineSize = "small" // EngineSizeMedium represents a medium engine size. EngineSizeMedium EngineSize = "medium" // EngineSizeLarge represents a large engine size. EngineSizeLarge EngineSize = "large" )
type EngineType ¶
type EngineType string
EngineType stands for the supported database engines. Right now it's only pxc and psmdb. However, it can be ps, pg and any other source.
type Expose ¶
type Expose struct {
// Type is the expose type, can be ClusterIP, LoadBalancer, NodePort. The types internal and external are deprecated.
// +kubebuilder:validation:Enum:=internal;external;ClusterIP;LoadBalancer;NodePort
// +kubebuilder:default:=ClusterIP
Type ExposeType `json:"type,omitempty"`
// IPSourceRanges is the list of IP source ranges (CIDR notation)
// to allow access from. If not set, there is no limitations
IPSourceRanges []IPSourceRange `json:"ipSourceRanges,omitempty"`
// LoadBalancerConfigName is the name of load balancer config if applied
LoadBalancerConfigName string `json:"loadBalancerConfigName,omitempty"`
}
Expose is the expose configuration.
func (*Expose) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Expose.
func (*Expose) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Expose) IPSourceRangesStringArray ¶
IPSourceRangesStringArray returns []string of IPSource ranges. It also calls toCIDR function to convert IP addresses to the correct CIDR notation.
type ExposeType ¶
type ExposeType string
ExposeType is the expose type.
func (ExposeType) DeprecationWarning ¶ added in v1.11.0
func (t ExposeType) DeprecationWarning() string
func (ExposeType) Normalize ¶ added in v1.11.0
func (t ExposeType) Normalize() ExposeType
type IPSourceRange ¶
type IPSourceRange string
IPSourceRange represents IP addresses in CIDR notation or without a netmask.
type LoadBalancerConfig ¶
type LoadBalancerConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec LoadBalancerConfigSpec `json:"spec,omitempty"`
// +kubebuilder:default={"inUse": false}
Status LoadBalancerConfigStatus `json:"status,omitempty"`
}
LoadBalancerConfig is the Schema for the Load Balancer Config API.
func (*LoadBalancerConfig) DeepCopy ¶
func (in *LoadBalancerConfig) DeepCopy() *LoadBalancerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfig.
func (*LoadBalancerConfig) DeepCopyInto ¶
func (in *LoadBalancerConfig) DeepCopyInto(out *LoadBalancerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerConfig) DeepCopyObject ¶
func (in *LoadBalancerConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerConfigList ¶
type LoadBalancerConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []LoadBalancerConfig `json:"items"`
}
LoadBalancerConfigList contains a list of LoadBalancerConfig.
func (*LoadBalancerConfigList) DeepCopy ¶
func (in *LoadBalancerConfigList) DeepCopy() *LoadBalancerConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfigList.
func (*LoadBalancerConfigList) DeepCopyInto ¶
func (in *LoadBalancerConfigList) DeepCopyInto(out *LoadBalancerConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerConfigList) DeepCopyObject ¶
func (in *LoadBalancerConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerConfigSpec ¶
type LoadBalancerConfigSpec struct {
// Annotations key-value pairs to apply as annotations to the load balancer
Annotations map[string]string `json:"annotations,omitempty"`
}
LoadBalancerConfigSpec defines the desired state of LoadBalancerConfig.
func (*LoadBalancerConfigSpec) DeepCopy ¶
func (in *LoadBalancerConfigSpec) DeepCopy() *LoadBalancerConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfigSpec.
func (*LoadBalancerConfigSpec) DeepCopyInto ¶
func (in *LoadBalancerConfigSpec) DeepCopyInto(out *LoadBalancerConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerConfigStatus ¶
type LoadBalancerConfigStatus struct {
// InUse is a flag that indicates if the config is used by any DB cluster.
// +kubebuilder:default=false
InUse bool `json:"inUse,omitempty"`
// LastObservedGeneration is the most recent generation observed for this LoadBalancerConfig.
LastObservedGeneration int64 `json:"lastObservedGeneration,omitempty"`
}
LoadBalancerConfigStatus defines the observed state of LoadBalancerConfig.
func (*LoadBalancerConfigStatus) DeepCopy ¶
func (in *LoadBalancerConfigStatus) DeepCopy() *LoadBalancerConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfigStatus.
func (*LoadBalancerConfigStatus) DeepCopyInto ¶
func (in *LoadBalancerConfigStatus) DeepCopyInto(out *LoadBalancerConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerType ¶
type LoadBalancerType string
LoadBalancerType contains supported loadbalancers. It can be proxysql or haproxy for PXC clusters, mongos for PSMDB clusters or pgbouncer for Postgresql clusters.
type Monitoring ¶
type Monitoring struct {
// MonitoringConfigName is the name of a monitoringConfig CR.
// The MonitoringConfig must be created in the same namespace as the DatabaseCluster.
MonitoringConfigName string `json:"monitoringConfigName,omitempty"`
// Resources defines resource limitations for the monitoring.
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}
Monitoring is the monitoring configuration.
func (*Monitoring) DeepCopy ¶
func (in *Monitoring) DeepCopy() *Monitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Monitoring.
func (*Monitoring) DeepCopyInto ¶
func (in *Monitoring) DeepCopyInto(out *Monitoring)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringConfig ¶
type MonitoringConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MonitoringConfigSpec `json:"spec,omitempty"`
// +kubebuilder:default={"inUse": false}
Status MonitoringConfigStatus `json:"status,omitempty"`
}
MonitoringConfig is the Schema for the monitoringconfigs API.
func (*MonitoringConfig) DeepCopy ¶
func (in *MonitoringConfig) DeepCopy() *MonitoringConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringConfig.
func (*MonitoringConfig) DeepCopyInto ¶
func (in *MonitoringConfig) DeepCopyInto(out *MonitoringConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitoringConfig) DeepCopyObject ¶
func (in *MonitoringConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MonitoringConfig) GetPMMServerVersion ¶
func (m *MonitoringConfig) GetPMMServerVersion(ctx context.Context, credentialsSecret *corev1.Secret) (PMMServerVersion, error)
type MonitoringConfigList ¶
type MonitoringConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MonitoringConfig `json:"items"`
}
MonitoringConfigList contains a list of MonitoringConfig.
func (*MonitoringConfigList) DeepCopy ¶
func (in *MonitoringConfigList) DeepCopy() *MonitoringConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringConfigList.
func (*MonitoringConfigList) DeepCopyInto ¶
func (in *MonitoringConfigList) DeepCopyInto(out *MonitoringConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitoringConfigList) DeepCopyObject ¶
func (in *MonitoringConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MonitoringConfigSpec ¶
type MonitoringConfigSpec struct {
// Type is type of monitoring.
// +kubebuilder:validation:Enum=pmm
Type MonitoringType `json:"type"`
// CredentialsSecretName is the name of the secret with credentials.
CredentialsSecretName string `json:"credentialsSecretName"`
// AllowedNamespaces is the list of namespaces where the operator will copy secrets provided in the CredentialsSecretsName.
AllowedNamespaces []string `json:"allowedNamespaces,omitempty"`
// PMM is configuration for the PMM monitoring type.
PMM PMMConfig `json:"pmm,omitempty"`
// VerifyTLS is set to ensure TLS/SSL verification.
// If unspecified, the default value is true.
//
// +kubebuilder:default:=true
VerifyTLS *bool `json:"verifyTLS,omitempty"`
}
MonitoringConfigSpec defines the desired state of MonitoringConfig.
func (*MonitoringConfigSpec) DeepCopy ¶
func (in *MonitoringConfigSpec) DeepCopy() *MonitoringConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringConfigSpec.
func (*MonitoringConfigSpec) DeepCopyInto ¶
func (in *MonitoringConfigSpec) DeepCopyInto(out *MonitoringConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringConfigStatus ¶
type MonitoringConfigStatus struct {
// InUse is a flag that indicates if any DB cluster uses the monitoring config.
// +kubebuilder:default=false
InUse bool `json:"inUse,omitempty"`
// LastObservedGeneration is the most recent generation observed for this MonitoringConfig.
LastObservedGeneration int64 `json:"lastObservedGeneration,omitempty"`
// PMMServerVersion shows PMM server version
PMMServerVersion PMMServerVersion `json:"pmmServerVersion,omitempty"`
}
MonitoringConfigStatus defines the observed state of MonitoringConfig.
func (*MonitoringConfigStatus) DeepCopy ¶
func (in *MonitoringConfigStatus) DeepCopy() *MonitoringConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringConfigStatus.
func (*MonitoringConfigStatus) DeepCopyInto ¶
func (in *MonitoringConfigStatus) DeepCopyInto(out *MonitoringConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatorUpgrade ¶
type OperatorUpgrade struct {
// TargetVersion is the version to which the operator should be upgraded.
TargetVersion string `json:"targetVersion,omitempty"`
// InstallPlanRef is a reference to the InstallPlan object created for the operator upgrade.
//
// We do not recommended approving this InstallPlan directly from the Kubernetes API.
// This is because this InstallPlan may also upgrade other operators in the namespace and that
// can have unintended consequences.
// This behaviour is not a bug from Everest, but an unfortunate limitation of OLM.
// We suggest using the Everest API/UI to handle operator upgrades, which will perform a series
// of checks and safely upgrade all operators in the namespace.
InstallPlanRef corev1.LocalObjectReference `json:"installPlanRef,omitempty"`
}
OperatorUpgrade contains the information about the operator upgrade.
func (*OperatorUpgrade) DeepCopy ¶
func (in *OperatorUpgrade) DeepCopy() *OperatorUpgrade
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorUpgrade.
func (*OperatorUpgrade) DeepCopyInto ¶
func (in *OperatorUpgrade) DeepCopyInto(out *OperatorUpgrade)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatorUpgradeStatus ¶
type OperatorUpgradeStatus struct {
OperatorUpgrade `json:",inline"`
Phase UpgradePhase `json:"phase,omitempty"`
StartedAt *metav1.Time `json:"startedAt,omitempty"`
Message string `json:"message,omitempty"`
}
OperatorUpgradeStatus contains the status of the operator upgrade.
func (*OperatorUpgradeStatus) DeepCopy ¶
func (in *OperatorUpgradeStatus) DeepCopy() *OperatorUpgradeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorUpgradeStatus.
func (*OperatorUpgradeStatus) DeepCopyInto ¶
func (in *OperatorUpgradeStatus) DeepCopyInto(out *OperatorUpgradeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PITR ¶
type PITR struct {
// Type is the type of recovery.
// +kubebuilder:validation:Enum:=date;latest
// +kubebuilder:default:=date
Type PITRType `json:"type,omitempty"`
// Date is the UTC date to recover to. The accepted format: "2006-01-02T15:04:05Z".
Date *RestoreDate `json:"date,omitempty"`
}
PITR represents a specification to configure point in time recovery for a database backup/restore.
func (*PITR) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PITR.
func (*PITR) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PITRSpec ¶
type PITRSpec struct {
// Enabled is a flag to enable PITR
Enabled bool `json:"enabled"`
// BackupStorageName is the name of the BackupStorage where the PITR is enabled
// The BackupStorage must be created in the same namespace as the DatabaseCluster.
BackupStorageName *string `json:"backupStorageName,omitempty"`
// UploadIntervalSec number of seconds between the binlogs uploads
UploadIntervalSec *int `json:"uploadIntervalSec,omitempty"`
}
PITRSpec represents a specification to configure point in time recovery for a database backup/restore.
func (*PITRSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PITRSpec.
func (*PITRSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PMMConfig ¶
type PMMConfig struct {
// URL is url to the monitoring instance.
URL string `json:"url"`
// Image is a Docker image name to use for deploying PMM client. Defaults to using the latest version.
Image string `json:"image"`
}
PMMConfig is configuration of the PMM monitoring type.
func (*PMMConfig) CreatePMMApiKey ¶
func (c *PMMConfig) CreatePMMApiKey( ctx context.Context, apiKeyName, user, password string, skipTLSVerify bool, ) (string, error)
CreatePMMApiKey creates a new API key in PMM by using the provided username and password.
func (*PMMConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PMMConfig.
func (*PMMConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PMMServerVersion ¶
type PMMServerVersion string
func (*PMMServerVersion) DefaultPMMClientImage ¶
func (v *PMMServerVersion) DefaultPMMClientImage() string
func (*PMMServerVersion) PMMSecretKeyName ¶
func (v *PMMServerVersion) PMMSecretKeyName(engineType EngineType) string
PMMSecretKeyName returns the key name that should be used in the PMM secret depending on engine and auth type
func (*PMMServerVersion) UsesLegacyAuth ¶
func (v *PMMServerVersion) UsesLegacyAuth() bool
UsesLegacyAuth returns true if the instance uses legacy auth (PMM2) otherwise it returns false
type PSMDBAffinityConfig ¶
type PSMDBAffinityConfig struct {
// Engine is the affinity configuration for the DB Engine pods.
Engine *corev1.Affinity `json:"engine,omitempty"`
// Proxy is the affinity configuration for the DB Proxy pods.
Proxy *corev1.Affinity `json:"proxy,omitempty"`
// ConfigServer is the affinity configuration for the DB Config Server pods.
ConfigServer *corev1.Affinity `json:"configServer,omitempty"`
}
PSMDBAffinityConfig contains Affinity configurations for PSMDB Engine, Proxy and Config Server pods.
func (*PSMDBAffinityConfig) DeepCopy ¶
func (in *PSMDBAffinityConfig) DeepCopy() *PSMDBAffinityConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PSMDBAffinityConfig.
func (*PSMDBAffinityConfig) DeepCopyInto ¶
func (in *PSMDBAffinityConfig) DeepCopyInto(out *PSMDBAffinityConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PSMDBEngineFeatures ¶
type PSMDBEngineFeatures struct {
// SplitHorizonDNSConfigName is the name of a SplitHorizonDNSConfig CR.
// The SplitHorizonDNSConfig must be created in the same namespace as the DatabaseCluster.
SplitHorizonDNSConfigName string `json:"splitHorizonDnsConfigName,omitempty"`
}
PSMDBEngineFeatures represents additional features for the PSMDB engine.
func (*PSMDBEngineFeatures) DeepCopy ¶
func (in *PSMDBEngineFeatures) DeepCopy() *PSMDBEngineFeatures
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PSMDBEngineFeatures.
func (*PSMDBEngineFeatures) DeepCopyInto ¶
func (in *PSMDBEngineFeatures) DeepCopyInto(out *PSMDBEngineFeatures)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PSMDBEngineFeaturesStatus ¶
type PSMDBEngineFeaturesStatus struct {
// SplitHorizon status of SplitHorizon feature.
SplitHorizon *enginefeatureseverestv1alpha1.SplitHorizonStatus `json:"splitHorizon,omitempty"`
}
PSMDBEngineFeaturesStatus represents additional features statuses for the PSMDB engine.
func (*PSMDBEngineFeaturesStatus) DeepCopy ¶
func (in *PSMDBEngineFeaturesStatus) DeepCopy() *PSMDBEngineFeaturesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PSMDBEngineFeaturesStatus.
func (*PSMDBEngineFeaturesStatus) DeepCopyInto ¶
func (in *PSMDBEngineFeaturesStatus) DeepCopyInto(out *PSMDBEngineFeaturesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PXCAffinityConfig ¶
type PXCAffinityConfig struct {
// Engine is the affinity configuration for the DB Engine pods.
Engine *corev1.Affinity `json:"engine,omitempty"`
// Proxy is the affinity configuration for the DB Proxy pods.
Proxy *corev1.Affinity `json:"proxy,omitempty"`
}
PXCAffinityConfig contains Affinity configurations for PXC Engine and Proxy pods.
func (*PXCAffinityConfig) DeepCopy ¶
func (in *PXCAffinityConfig) DeepCopy() *PXCAffinityConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PXCAffinityConfig.
func (*PXCAffinityConfig) DeepCopyInto ¶
func (in *PXCAffinityConfig) DeepCopyInto(out *PXCAffinityConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSchedulingPolicy ¶
type PodSchedulingPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PodSchedulingPolicySpec `json:"spec,omitempty"`
// +kubebuilder:default={"inUse": false}
Status PodSchedulingPolicyStatus `json:"status,omitempty"`
}
PodSchedulingPolicy is the Schema for the Pod Scheduling Policy API.
func (*PodSchedulingPolicy) DeepCopy ¶
func (in *PodSchedulingPolicy) DeepCopy() *PodSchedulingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingPolicy.
func (*PodSchedulingPolicy) DeepCopyInto ¶
func (in *PodSchedulingPolicy) DeepCopyInto(out *PodSchedulingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodSchedulingPolicy) DeepCopyObject ¶
func (in *PodSchedulingPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PodSchedulingPolicy) HasRules ¶
func (psp *PodSchedulingPolicy) HasRules() bool
HasRules returns true in case policy as at least 1 affinity rule.
type PodSchedulingPolicyList ¶
type PodSchedulingPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PodSchedulingPolicy `json:"items"`
}
PodSchedulingPolicyList contains a list of PodSchedulingPolicy.
func (*PodSchedulingPolicyList) DeepCopy ¶
func (in *PodSchedulingPolicyList) DeepCopy() *PodSchedulingPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingPolicyList.
func (*PodSchedulingPolicyList) DeepCopyInto ¶
func (in *PodSchedulingPolicyList) DeepCopyInto(out *PodSchedulingPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodSchedulingPolicyList) DeepCopyObject ¶
func (in *PodSchedulingPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodSchedulingPolicySpec ¶
type PodSchedulingPolicySpec struct {
// EngineType is type of DB engine that this policy can be applied to.
// +kubebuilder:validation:Enum=pxc;postgresql;psmdb
EngineType EngineType `json:"engineType"`
// AffinityConfig is a configuration for the affinity settings depending on the engine type.
AffinityConfig *AffinityConfig `json:"affinityConfig,omitempty"`
}
PodSchedulingPolicySpec defines the desired state of PodSchedulingPolicy.
func (*PodSchedulingPolicySpec) DeepCopy ¶
func (in *PodSchedulingPolicySpec) DeepCopy() *PodSchedulingPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingPolicySpec.
func (*PodSchedulingPolicySpec) DeepCopyInto ¶
func (in *PodSchedulingPolicySpec) DeepCopyInto(out *PodSchedulingPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSchedulingPolicyStatus ¶
type PodSchedulingPolicyStatus struct {
// InUse is a flag that indicates if the policy is used by any DB cluster.
// +kubebuilder:default=false
InUse bool `json:"inUse,omitempty"`
// LastObservedGeneration is the most recent generation observed for this PodSchedulingPolicy.
LastObservedGeneration int64 `json:"lastObservedGeneration,omitempty"`
}
PodSchedulingPolicyStatus defines the observed state of PodSchedulingPolicy.
func (*PodSchedulingPolicyStatus) DeepCopy ¶
func (in *PodSchedulingPolicyStatus) DeepCopy() *PodSchedulingPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingPolicyStatus.
func (*PodSchedulingPolicyStatus) DeepCopyInto ¶
func (in *PodSchedulingPolicyStatus) DeepCopyInto(out *PodSchedulingPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgreSQLAffinityConfig ¶
type PostgreSQLAffinityConfig struct {
// Engine is the affinity configuration for the DB Engine pods.
Engine *corev1.Affinity `json:"engine,omitempty"`
// Proxy is the affinity configuration for the DB Proxy pods.
Proxy *corev1.Affinity `json:"proxy,omitempty"`
}
PostgreSQLAffinityConfig contains Affinity configurations for PostgreSQL Engine and Proxy pods.
func (*PostgreSQLAffinityConfig) DeepCopy ¶
func (in *PostgreSQLAffinityConfig) DeepCopy() *PostgreSQLAffinityConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreSQLAffinityConfig.
func (*PostgreSQLAffinityConfig) DeepCopyInto ¶
func (in *PostgreSQLAffinityConfig) DeepCopyInto(out *PostgreSQLAffinityConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Proxy ¶
type Proxy struct {
// Type is the proxy type
// +kubebuilder:validation:Enum:=mongos;haproxy;proxysql;pgbouncer
Type ProxyType `json:"type,omitempty"`
// Replicas is the number of proxy replicas
// +kubebuilder:validation:Minimum:=1
Replicas *int32 `json:"replicas,omitempty"`
// Config is the proxy configuration
Config string `json:"config,omitempty"`
// Storage is the proxy storage configuration
// +optional
Storage *Storage `json:"storage,omitempty"`
// Expose is the proxy expose configuration
// +kubebuilder:validation:XValidation:rule="self.type == 'internal' || !has(oldSelf.loadBalancerConfigName) || oldSelf.loadBalancerConfigName == ” || (has(self.loadBalancerConfigName) && self.loadBalancerConfigName != ”)",message=".spec.proxy.expose.loadBalancerConfigName cannot be cleared once set"
Expose Expose `json:"expose,omitempty"`
// Resources are the resource limits for each proxy replica.
// If not set, resource limits are not imposed
Resources Resources `json:"resources,omitempty"`
}
Proxy is the proxy configuration.
func (*Proxy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Proxy.
func (*Proxy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSpec ¶ added in v1.16.0
type ResourceSpec struct {
// CPU is the CPU resource requirements
CPU resource.Quantity `json:"cpu,omitempty"`
// Memory is the memory resource requirements
Memory resource.Quantity `json:"memory,omitempty"`
}
ResourceSpec holds CPU and Memory resource quantities.
func (*ResourceSpec) DeepCopy ¶ added in v1.16.0
func (in *ResourceSpec) DeepCopy() *ResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.
func (*ResourceSpec) DeepCopyInto ¶ added in v1.16.0
func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct {
// CPU is the CPU resource requirements.
//
// Deprecated: use Limits.CPU instead. When Limits is unset, this value is
// used as the CPU limit (and, for engines that historically did so, as the
// CPU request as well). It is ignored when Limits is set.
// +optional
CPU resource.Quantity `json:"cpu,omitempty"`
// Memory is the memory resource requirements.
//
// Deprecated: use Limits.Memory instead. When Limits is unset, this value is
// used as the memory limit (and, for engines that historically did so, as
// the memory request as well). It is ignored when Limits is set.
// +optional
Memory resource.Quantity `json:"memory,omitempty"`
// Limits are the resource limits applied to each replica.
// If set, it takes precedence over the deprecated CPU and Memory fields.
// +optional
Limits *ResourceSpec `json:"limits,omitempty"`
// Requests are the resource requests applied to each replica.
// If unset, the request behavior is engine-specific: some engines mirror
// the effective limits while others leave requests unset.
// +optional
Requests *ResourceSpec `json:"requests,omitempty"`
}
Resources are the resource requirements.
func (*Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Resources) EffectiveLimits ¶ added in v1.16.0
func (r *Resources) EffectiveLimits() ResourceSpec
EffectiveLimits returns the resource limits that should be applied, preferring the explicit Limits field and falling back to the deprecated CPU and Memory fields when Limits is unset.
func (*Resources) EffectiveRequests ¶ added in v1.16.0
func (r *Resources) EffectiveRequests() *ResourceSpec
EffectiveRequests returns the explicitly requested resources, or nil when no requests were specified.
func (*Resources) ToResourceRequirements ¶ added in v1.16.0
func (r *Resources) ToResourceRequirements() corev1.ResourceRequirements
ToResourceRequirements builds a corev1.ResourceRequirements from the effective limits and requests, respecting the user's intent exactly: requests are set only from explicitly provided request values. Only non-zero quantities are set so that callers preserve the existing "skip when zero" semantics.
func (*Resources) UsesLegacyResourceFields ¶ added in v1.16.0
UsesLegacyResourceFields reports whether the user relies solely on the deprecated CPU/Memory fields, i.e. neither of the new Limits/Requests fields is set. Engines that historically derived requests from limits use this to decide whether to apply that backward-compatible behavior.
type RestoreDate ¶
RestoreDate is a data type for better time.Time support, the same approach as used in psmdb. +kubebuilder:validation:Type=string
func (*RestoreDate) DeepCopy ¶
func (in *RestoreDate) DeepCopy() *RestoreDate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreDate.
func (*RestoreDate) DeepCopyInto ¶
func (in *RestoreDate) DeepCopyInto(out *RestoreDate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RestoreDate) MarshalJSON ¶
func (t *RestoreDate) MarshalJSON() ([]byte, error)
MarshalJSON marshals JSON.
func (*RestoreDate) OpenAPISchemaFormat ¶
func (*RestoreDate) OpenAPISchemaFormat() string
OpenAPISchemaFormat returns a format for OperAPI specification.
func (*RestoreDate) OpenAPISchemaType ¶
func (*RestoreDate) OpenAPISchemaType() []string
OpenAPISchemaType returns a schema type for OperAPI specification.
func (*RestoreDate) UnmarshalJSON ¶
func (t *RestoreDate) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals JSON.
type RestoreState ¶
type RestoreState string
RestoreState represents state of restoration.
const ( RestoreNew RestoreState = "" RestoreStarting RestoreState = "Starting" RestoreRunning RestoreState = "Restoring" RestoreFailed RestoreState = "Failed" RestoreSucceeded RestoreState = "Succeeded" )
Known Restore states.
func GetDBRestoreState ¶
func GetDBRestoreState(upstream client.Object) RestoreState
GetDBRestoreState returns the restore state from the upstream restore object.
type SecretKey ¶
type SecretKey struct {
// Name is the name of the Secret key.
Name string `json:"name,omitempty"`
// Description is a human-readable description of the Secret key.
Description string `json:"description,omitempty"`
}
SecretKey defines a single Secret key.
func (*SecretKey) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKey.
func (*SecretKey) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeys ¶
type SecretKeys struct {
// User secret keys are used to store the details of the users.
User []SecretKey `json:"user,omitempty"`
}
SecretKeys contains the definition of the various Secrets that the given DBEngine supports.
func (*SecretKeys) DeepCopy ¶
func (in *SecretKeys) DeepCopy() *SecretKeys
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeys.
func (*SecretKeys) DeepCopyInto ¶
func (in *SecretKeys) DeepCopyInto(out *SecretKeys)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Sharding ¶
type Sharding struct {
// Enabled defines if the sharding is enabled
Enabled bool `json:"enabled"`
// Shards defines the number of shards
// +kubebuilder:validation:Minimum:=1
Shards int32 `json:"shards"`
// ConfigServer represents the sharding configuration server settings
ConfigServer ConfigServer `json:"configServer"`
}
Sharding are the sharding options. Available only for psmdb.
func (*Sharding) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sharding.
func (*Sharding) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Storage ¶
type Storage struct {
// Size is the size of the persistent volume claim
Size resource.Quantity `json:"size"`
// Class is the storage class to use for the persistent volume claim
Class *string `json:"class,omitempty"`
}
Storage is the storage configuration.
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradePhase ¶
type UpgradePhase string
UpgradePhase represents the phase of the operator upgrade.
const ( // UpgradePhaseStarted represents the phase when the operator upgrade has started. UpgradePhaseStarted UpgradePhase = "started" // UpgradePhaseCompleted represents the phase when the operator upgrade has completed. UpgradePhaseCompleted UpgradePhase = "completed" // UpgradePhaseFailed represents the phase when the operator upgrade has failed. UpgradePhaseFailed UpgradePhase = "failed" )
type Versions ¶
type Versions struct {
Engine ComponentsMap `json:"engine,omitempty"`
Backup ComponentsMap `json:"backup,omitempty"`
Proxy map[ProxyType]ComponentsMap `json:"proxy,omitempty"`
Tools map[string]ComponentsMap `json:"tools,omitempty"`
}
Versions struct represents available versions of database engine components.
func (*Versions) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Versions.
func (*Versions) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- backupstorage_types.go
- consts.go
- databasecluster_types.go
- databaseclusterbackup_types.go
- databaseclusterrestore_types.go
- databaseengine_types.go
- dataimporter_types.go
- dataimportjob_types.go
- groupversion_info.go
- loadbalancerconfig_types.go
- monitoringconfig_types.go
- pmm.go
- podschedulingpolicy_types.go
- zz_generated.deepcopy.go