v1alpha1

package
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the medusa v1alpha1 API group +kubebuilder:object:generate=true +groupName=medusa.k8ssandra.io

Index

Constants

View Source
const (
	OperationTypePurge          = OperationType("purge")
	OperationTypeSync           = OperationType("sync")
	OperationTypePrepareRestore = OperationType("prepare_restore")
)
View Source
const (
	MedusaStorageSecretIdentifierLabel = "k8ssandra.io/medusa-storage-secret"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "medusa.k8ssandra.io", 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
)

Functions

This section is empty.

Types

type MappingSource added in v1.8.0

type MappingSource struct {
	Source []string `json:"source"`
	Seed   bool     `json:"seed"`
}

func (*MappingSource) DeepCopy added in v1.8.0

func (in *MappingSource) DeepCopy() *MappingSource

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

func (*MappingSource) DeepCopyInto added in v1.8.0

func (in *MappingSource) DeepCopyInto(out *MappingSource)

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

type MedusaBackup added in v1.1.0

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

	Spec   MedusaBackupSpec   `json:"spec,omitempty"`
	Status MedusaBackupStatus `json:"status,omitempty"`
}

MedusaBackup is the Schema for the medusabackups API

func (*MedusaBackup) DeepCopy added in v1.1.0

func (in *MedusaBackup) DeepCopy() *MedusaBackup

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

func (*MedusaBackup) DeepCopyInto added in v1.1.0

func (in *MedusaBackup) DeepCopyInto(out *MedusaBackup)

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

func (*MedusaBackup) DeepCopyObject added in v1.1.0

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

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

type MedusaBackupJob added in v1.1.0

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

	Spec   MedusaBackupJobSpec   `json:"spec,omitempty"`
	Status MedusaBackupJobStatus `json:"status,omitempty"`
}

MedusaBackupJob is the Schema for the medusabackupjobs API

func (*MedusaBackupJob) DeepCopy added in v1.1.0

func (in *MedusaBackupJob) DeepCopy() *MedusaBackupJob

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

func (*MedusaBackupJob) DeepCopyInto added in v1.1.0

func (in *MedusaBackupJob) DeepCopyInto(out *MedusaBackupJob)

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

func (*MedusaBackupJob) DeepCopyObject added in v1.1.0

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

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

type MedusaBackupJobList added in v1.1.0

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

MedusaBackupJobList contains a list of MedusaBackupJob

func (*MedusaBackupJobList) DeepCopy added in v1.1.0

func (in *MedusaBackupJobList) DeepCopy() *MedusaBackupJobList

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

func (*MedusaBackupJobList) DeepCopyInto added in v1.1.0

func (in *MedusaBackupJobList) DeepCopyInto(out *MedusaBackupJobList)

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

func (*MedusaBackupJobList) DeepCopyObject added in v1.1.0

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

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

type MedusaBackupJobSpec added in v1.1.0

type MedusaBackupJobSpec struct {
	// The name of the CassandraDatacenter to back up
	// +kubebuilder:validation:MinLength=1
	CassandraDatacenter string `json:"cassandraDatacenter"`

	// The type of the backup: "full" or "differential"
	// +kubebuilder:validation:Enum=differential;full;
	// +kubebuilder:default:=differential
	Type shared.BackupType `json:"backupType,omitempty"`
}

MedusaBackupJobSpec defines the desired state of MedusaBackupJob

func (*MedusaBackupJobSpec) DeepCopy added in v1.1.0

func (in *MedusaBackupJobSpec) DeepCopy() *MedusaBackupJobSpec

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

func (*MedusaBackupJobSpec) DeepCopyInto added in v1.1.0

func (in *MedusaBackupJobSpec) DeepCopyInto(out *MedusaBackupJobSpec)

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

type MedusaBackupJobStatus added in v1.1.0

type MedusaBackupJobStatus struct {
	StartTime metav1.Time `json:"startTime,omitempty"`

	FinishTime metav1.Time `json:"finishTime,omitempty"`

	InProgress []string `json:"inProgress,omitempty"`

	Finished []string `json:"finished,omitempty"`

	Failed []string `json:"failed,omitempty"`
}

MedusaBackupJobStatus defines the observed state of MedusaBackupJob

func (*MedusaBackupJobStatus) DeepCopy added in v1.1.0

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

func (*MedusaBackupJobStatus) DeepCopyInto added in v1.1.0

func (in *MedusaBackupJobStatus) DeepCopyInto(out *MedusaBackupJobStatus)

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

type MedusaBackupList added in v1.1.0

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

MedusaBackupList contains a list of MedusaBackup

func (*MedusaBackupList) DeepCopy added in v1.1.0

func (in *MedusaBackupList) DeepCopy() *MedusaBackupList

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

func (*MedusaBackupList) DeepCopyInto added in v1.1.0

func (in *MedusaBackupList) DeepCopyInto(out *MedusaBackupList)

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

func (*MedusaBackupList) DeepCopyObject added in v1.1.0

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

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

type MedusaBackupNode added in v1.9.0

type MedusaBackupNode struct {
	Host       string  `json:"host,omitempty"`
	Tokens     []int64 `json:"tokens,omitempty"`
	Datacenter string  `json:"datacenter,omitempty"`
	Rack       string  `json:"rack,omitempty"`
}

func (*MedusaBackupNode) DeepCopy added in v1.9.0

func (in *MedusaBackupNode) DeepCopy() *MedusaBackupNode

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

func (*MedusaBackupNode) DeepCopyInto added in v1.9.0

func (in *MedusaBackupNode) DeepCopyInto(out *MedusaBackupNode)

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

type MedusaBackupSchedule added in v1.2.0

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

	Spec   MedusaBackupScheduleSpec   `json:"spec,omitempty"`
	Status MedusaBackupScheduleStatus `json:"status,omitempty"`
}

+kubebuilder:printcolumn:name="Datacenter",type=string,JSONPath=".spec.backupSpec.cassandraDatacenter",description="Datacenter which the task targets" +kubebuilder:printcolumn:name="ScheduledExecution",type="date",JSONPath=".status.nextSchedule",description="Next scheduled execution time" +kubebuilder:printcolumn:name="LastExecution",type="date",JSONPath=".status.lastExecution",description="Previous execution time" +kubebuilder:printcolumn:name="BackupType",type="string",JSONPath=".spec.backupSpec.backupType",description="Type of backup" MedusaBackupSchedule is the Schema for the medusabackupschedules API

func (*MedusaBackupSchedule) DeepCopy added in v1.2.0

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

func (*MedusaBackupSchedule) DeepCopyInto added in v1.2.0

func (in *MedusaBackupSchedule) DeepCopyInto(out *MedusaBackupSchedule)

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

func (*MedusaBackupSchedule) DeepCopyObject added in v1.2.0

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

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

func (*MedusaBackupSchedule) SetupWebhookWithManager added in v1.2.0

func (r *MedusaBackupSchedule) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MedusaBackupSchedule) ValidateCreate added in v1.2.0

func (r *MedusaBackupSchedule) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*MedusaBackupSchedule) ValidateDelete added in v1.2.0

func (r *MedusaBackupSchedule) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*MedusaBackupSchedule) ValidateUpdate added in v1.2.0

func (r *MedusaBackupSchedule) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type MedusaBackupScheduleList added in v1.2.0

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

MedusaBackupScheduleList contains a list of MedusaBackupSchedule

func (*MedusaBackupScheduleList) DeepCopy added in v1.2.0

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

func (*MedusaBackupScheduleList) DeepCopyInto added in v1.2.0

func (in *MedusaBackupScheduleList) DeepCopyInto(out *MedusaBackupScheduleList)

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

func (*MedusaBackupScheduleList) DeepCopyObject added in v1.2.0

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

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

type MedusaBackupScheduleSpec added in v1.2.0

type MedusaBackupScheduleSpec struct {
	// CronSchedule is a cronjob format schedule for backups. Overrides any easier methods of defining the schedule
	// +kubebuilder:validation:MinLength=1
	CronSchedule string `json:"cronSchedule"`

	// Disabled if set ensures this job is not scheduling anything
	Disabled bool `json:"disabled,omitempty"`

	// BackupSpec defines the MedusaBackup to be created for this job
	BackupSpec MedusaBackupJobSpec `json:"backupSpec"`

	// Specifics if this backup task can be run concurrently with other active backup tasks. Valid values are:
	// - "Allow": allows multiple Tasks to run concurrently on Cassandra cluster
	// - "Forbid" (default): only a single task is executed at once
	// The "Allow" property is only valid if all the other active Tasks have "Allow" as well.
	// +optional
	ConcurrencyPolicy batchv1.ConcurrencyPolicy `json:"concurrencyPolicy,omitempty"`
}

MedusaBackupScheduleSpec defines the desired state of MedusaBackupSchedule

func (*MedusaBackupScheduleSpec) DeepCopy added in v1.2.0

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

func (*MedusaBackupScheduleSpec) DeepCopyInto added in v1.2.0

func (in *MedusaBackupScheduleSpec) DeepCopyInto(out *MedusaBackupScheduleSpec)

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

type MedusaBackupScheduleStatus added in v1.2.0

type MedusaBackupScheduleStatus struct {
	// NextSchedule indicates when the next backup is going to be done
	NextSchedule metav1.Time `json:"nextSchedule,omitempty"`

	// LastExecution tells when the backup was last time taken. If empty, the backup has never been taken
	LastExecution metav1.Time `json:"lastExecution,omitempty"`
}

MedusaBackupScheduleStatus defines the observed state of MedusaBackupSchedule

func (*MedusaBackupScheduleStatus) DeepCopy added in v1.2.0

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

func (*MedusaBackupScheduleStatus) DeepCopyInto added in v1.2.0

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

type MedusaBackupSpec added in v1.1.0

type MedusaBackupSpec struct {
	// The name of the CassandraDatacenter to back up
	CassandraDatacenter string `json:"cassandraDatacenter"`

	// The type of the backup: "full" or "differential"
	// +kubebuilder:validation:Enum=differential;full;
	// +kubebuilder:default:=differential
	Type shared.BackupType `json:"backupType,omitempty"`
}

MedusaBackupSpec defines the desired state of MedusaBackup

func (*MedusaBackupSpec) DeepCopy added in v1.1.0

func (in *MedusaBackupSpec) DeepCopy() *MedusaBackupSpec

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

func (*MedusaBackupSpec) DeepCopyInto added in v1.1.0

func (in *MedusaBackupSpec) DeepCopyInto(out *MedusaBackupSpec)

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

type MedusaBackupStatus added in v1.1.0

type MedusaBackupStatus struct {
	StartTime     metav1.Time         `json:"startTime,omitempty"`
	FinishTime    metav1.Time         `json:"finishTime,omitempty"`
	TotalNodes    int32               `json:"totalNodes,omitempty"`
	FinishedNodes int32               `json:"finishedNodes,omitempty"`
	Nodes         []*MedusaBackupNode `json:"nodes,omitempty"`
	TotalFiles    int64               `json:"totalFiles,omitempty"`
	TotalSize     string              `json:"totalSize,omitempty"`
	Status        string              `json:"status,omitempty"`
}

MedusaBackupStatus defines the observed state of MedusaBackup

func (*MedusaBackupStatus) DeepCopy added in v1.1.0

func (in *MedusaBackupStatus) DeepCopy() *MedusaBackupStatus

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

func (*MedusaBackupStatus) DeepCopyInto added in v1.1.0

func (in *MedusaBackupStatus) DeepCopyInto(out *MedusaBackupStatus)

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

type MedusaClusterTemplate

type MedusaClusterTemplate struct {
	// MedusaConfigurationRef points to an existing MedusaConfiguration object.
	// The purpose is to allow shared default settings across several clusters.
	// StorageProperties override the settings from MedusaConfiguration object to allow customization.
	// +optional
	MedusaConfigurationRef corev1.ObjectReference `json:"medusaConfigurationRef,omitempty"`

	// MedusaContainerImage is the image characteristics to use for Medusa containers. Leave nil
	// to use a default image.
	// +optional
	ContainerImage *images.Image `json:"containerImage,omitempty"`

	// SecurityContext applied to the Medusa containers.
	// +optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`

	// Defines the username and password that Medusa will use to authenticate CQL connections to Cassandra clusters.
	// These credentials will be automatically turned into CQL roles by cass-operator when bootstrapping the datacenter,
	// then passed to the Medusa instances, so that it can authenticate against nodes in the datacenter using CQL.
	// The secret must be in the same namespace as Cassandra and must contain two keys: "username" and "password".
	// +optional
	CassandraUserSecretRef corev1.LocalObjectReference `json:"cassandraUserSecretRef,omitempty"`

	// Provides all storage backend related properties for backups.
	StorageProperties Storage `json:"storageProperties,omitempty"`

	// Certificates for Medusa if client encryption is enabled in Cassandra.
	// The secret must be in the same namespace as Cassandra and must contain three keys: "rootca.crt", "client.crt_signed" and "client.key".
	// See https://docs.datastax.com/en/developer/python-driver/latest/security/ for more information on the required files.
	// +optional
	CertificatesSecretRef corev1.LocalObjectReference `json:"certificatesSecretRef,omitempty"`

	// medusa-restore init container resources.
	// +optional
	InitContainerResources *corev1.ResourceRequirements `json:"initContainerResources,omitempty"`

	// Medusa main container resources.
	// +optional
	Resources *corev1.ResourceRequirements `json:"containerResources,omitempty"`

	// Define the readiness probe settings to use for the Medusa containers.
	// +optional
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`

	// Define the liveness probe settings to use for the Medusa containers.
	// +optional
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`
}

func (*MedusaClusterTemplate) DeepCopy

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

func (*MedusaClusterTemplate) DeepCopyInto

func (in *MedusaClusterTemplate) DeepCopyInto(out *MedusaClusterTemplate)

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

type MedusaConfiguration added in v1.12.0

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

	Spec   MedusaConfigurationSpec   `json:"spec,omitempty"`
	Status MedusaConfigurationStatus `json:"status,omitempty"`
}

MedusaConfiguration is the Schema for the medusaconfigurations API

func (*MedusaConfiguration) DeepCopy added in v1.12.0

func (in *MedusaConfiguration) DeepCopy() *MedusaConfiguration

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

func (*MedusaConfiguration) DeepCopyInto added in v1.12.0

func (in *MedusaConfiguration) DeepCopyInto(out *MedusaConfiguration)

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

func (*MedusaConfiguration) DeepCopyObject added in v1.12.0

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

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

type MedusaConfigurationConditionType added in v1.12.0

type MedusaConfigurationConditionType string
const (
	ControlStatusSecretAvailable MedusaConfigurationConditionType = "SecretAvailable"
	ControlStatusReady           MedusaConfigurationConditionType = "Ready"
)

type MedusaConfigurationList added in v1.12.0

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

MedusaConfigurationList contains a list of MedusaConfiguration

func (*MedusaConfigurationList) DeepCopy added in v1.12.0

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

func (*MedusaConfigurationList) DeepCopyInto added in v1.12.0

func (in *MedusaConfigurationList) DeepCopyInto(out *MedusaConfigurationList)

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

func (*MedusaConfigurationList) DeepCopyObject added in v1.12.0

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

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

type MedusaConfigurationSpec added in v1.12.0

type MedusaConfigurationSpec struct {

	// StorageProperties defines the storage backend settings to use for the backups.
	StorageProperties Storage `json:"storageProperties,omitempty"`
}

MedusaConfigurationSpec defines the desired state of MedusaConfiguration

func (*MedusaConfigurationSpec) DeepCopy added in v1.12.0

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

func (*MedusaConfigurationSpec) DeepCopyInto added in v1.12.0

func (in *MedusaConfigurationSpec) DeepCopyInto(out *MedusaConfigurationSpec)

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

type MedusaConfigurationStatus added in v1.12.0

type MedusaConfigurationStatus struct {
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

MedusaConfigurationStatus defines the observed state of MedusaConfiguration

func (*MedusaConfigurationStatus) DeepCopy added in v1.12.0

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

func (*MedusaConfigurationStatus) DeepCopyInto added in v1.12.0

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

func (*MedusaConfigurationStatus) GetCondition added in v1.12.0

func (*MedusaConfigurationStatus) SetCondition added in v1.12.0

SetCondition sets the condition with the given type to the given status. Returns true if the condition was changed.

func (*MedusaConfigurationStatus) SetConditionMessage added in v1.12.0

func (m *MedusaConfigurationStatus) SetConditionMessage(msg MedusaConfigurationConditionType, message string)

type MedusaRestoreJob added in v1.1.0

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

	Spec   MedusaRestoreJobSpec   `json:"spec,omitempty"`
	Status MedusaRestoreJobStatus `json:"status,omitempty"`
}

MedusaRestoreJob is the Schema for the medusarestorejobs API

func (*MedusaRestoreJob) DeepCopy added in v1.1.0

func (in *MedusaRestoreJob) DeepCopy() *MedusaRestoreJob

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

func (*MedusaRestoreJob) DeepCopyInto added in v1.1.0

func (in *MedusaRestoreJob) DeepCopyInto(out *MedusaRestoreJob)

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

func (*MedusaRestoreJob) DeepCopyObject added in v1.1.0

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

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

type MedusaRestoreJobList added in v1.1.0

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

MedusaRestoreJobList contains a list of MedusaRestoreJob

func (*MedusaRestoreJobList) DeepCopy added in v1.1.0

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

func (*MedusaRestoreJobList) DeepCopyInto added in v1.1.0

func (in *MedusaRestoreJobList) DeepCopyInto(out *MedusaRestoreJobList)

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

func (*MedusaRestoreJobList) DeepCopyObject added in v1.1.0

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

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

type MedusaRestoreJobSpec added in v1.1.0

type MedusaRestoreJobSpec struct {
	// The name of the MedusaBackup to restore.
	Backup string `json:"backup"`

	// Name of the Cassandra datacenter to perform the restore on.
	CassandraDatacenter string `json:"cassandraDatacenter"`
}

MedusaRestoreJobSpec defines the desired state of MedusaRestoreJob

func (*MedusaRestoreJobSpec) DeepCopy added in v1.1.0

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

func (*MedusaRestoreJobSpec) DeepCopyInto added in v1.1.0

func (in *MedusaRestoreJobSpec) DeepCopyInto(out *MedusaRestoreJobSpec)

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

type MedusaRestoreJobStatus added in v1.1.0

type MedusaRestoreJobStatus struct {
	// A unique key that identifies the restore operation.
	RestoreKey string `json:"restoreKey"`

	RestorePrepared bool `json:"restorePrepared,omitempty"`

	// Mapping between source and target nodes for a restore
	// +optional
	RestoreMapping MedusaRestoreMapping `json:"restoreMapping,omitempty"`

	StartTime metav1.Time `json:"startTime,omitempty"`

	FinishTime metav1.Time `json:"finishTime,omitempty"`

	DatacenterStopped metav1.Time `json:"datacenterStopped,omitempty"`

	InProgress []string `json:"inProgress,omitempty"`

	Finished []string `json:"finished,omitempty"`

	Failed []string `json:"failed,omitempty"`

	// Message gives the reason why restore operation failed
	Message string `json:"message,omitempty"`
}

MedusaRestoreJobStatus defines the observed state of MedusaRestoreJob

func (*MedusaRestoreJobStatus) DeepCopy added in v1.1.0

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

func (*MedusaRestoreJobStatus) DeepCopyInto added in v1.1.0

func (in *MedusaRestoreJobStatus) DeepCopyInto(out *MedusaRestoreJobStatus)

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

type MedusaRestoreMapping added in v1.8.0

type MedusaRestoreMapping struct {
	// Whether the restore is in-place or not
	// +optional
	InPlace *bool `json:"in_place"`

	// Mapping between source and target nodes for a restore
	HostMap map[string]MappingSource `json:"host_map,omitempty"`
}

func (*MedusaRestoreMapping) DeepCopy added in v1.8.0

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

func (*MedusaRestoreMapping) DeepCopyInto added in v1.8.0

func (in *MedusaRestoreMapping) DeepCopyInto(out *MedusaRestoreMapping)

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

type MedusaTask added in v1.1.0

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

	Spec   MedusaTaskSpec   `json:"spec,omitempty"`
	Status MedusaTaskStatus `json:"status,omitempty"`
}

MedusaTask is the Schema for the MedusaTasks API

func (*MedusaTask) DeepCopy added in v1.1.0

func (in *MedusaTask) DeepCopy() *MedusaTask

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

func (*MedusaTask) DeepCopyInto added in v1.1.0

func (in *MedusaTask) DeepCopyInto(out *MedusaTask)

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

func (*MedusaTask) DeepCopyObject added in v1.1.0

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

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

func (*MedusaTask) String added in v1.1.0

func (task *MedusaTask) String() string

type MedusaTaskList added in v1.1.0

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

MedusaTaskList contains a list of MedusaTask

func (*MedusaTaskList) DeepCopy added in v1.1.0

func (in *MedusaTaskList) DeepCopy() *MedusaTaskList

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

func (*MedusaTaskList) DeepCopyInto added in v1.1.0

func (in *MedusaTaskList) DeepCopyInto(out *MedusaTaskList)

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

func (*MedusaTaskList) DeepCopyObject added in v1.1.0

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

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

type MedusaTaskSpec added in v1.1.0

type MedusaTaskSpec struct {

	// Requested operation to perform.
	// +kubebuilder:validation:Enum=sync;purge;prepare_restore
	// +kubebuilder:validation:Required
	Operation OperationType `json:"operation,omitempty"`

	// The name of the CassandraDatacenter to run the task on
	CassandraDatacenter string `json:"cassandraDatacenter"`

	// Name of the backup.
	// Will be necessary for operations such as verify or status.
	// +kubebuilder:validation:Optional
	BackupName string `json:"backupName,omitempty"`

	// Restore key to use for the prepare_restore operation.
	// +kubebuilder:validation:Optional
	RestoreKey string `json:"restoreKey,omitempty"`
}

MedusaTaskSpec defines the desired state of MedusaTask

func (*MedusaTaskSpec) DeepCopy added in v1.1.0

func (in *MedusaTaskSpec) DeepCopy() *MedusaTaskSpec

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

func (*MedusaTaskSpec) DeepCopyInto added in v1.1.0

func (in *MedusaTaskSpec) DeepCopyInto(out *MedusaTaskSpec)

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

type MedusaTaskStatus added in v1.1.0

type MedusaTaskStatus struct {
	StartTime metav1.Time `json:"startTime,omitempty"`

	FinishTime metav1.Time `json:"finishTime,omitempty"`

	InProgress []string `json:"inProgress,omitempty"`

	Finished []TaskResult `json:"finished,omitempty"`

	Failed []string `json:"failed,omitempty"`
}

MedusaTaskStatus defines the observed state of MedusaTask

func (*MedusaTaskStatus) DeepCopy added in v1.1.0

func (in *MedusaTaskStatus) DeepCopy() *MedusaTaskStatus

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

func (*MedusaTaskStatus) DeepCopyInto added in v1.1.0

func (in *MedusaTaskStatus) DeepCopyInto(out *MedusaTaskStatus)

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

type OperationType added in v1.1.0

type OperationType string

type PodStorageSettings

type PodStorageSettings struct {

	// Storage class name to use for the pod's storage.
	StorageClassName string `json:"storageClassName,omitempty"`

	// Size of the pod's storage in bytes.
	// Defaults to 10 GB.
	// +kubebuilder:default="10Gi"
	// +optional
	Size resource.Quantity `json:"size,omitempty"`

	// Pod local storage access modes
	// +optional
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
}

func (*PodStorageSettings) DeepCopy

func (in *PodStorageSettings) DeepCopy() *PodStorageSettings

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

func (*PodStorageSettings) DeepCopyInto

func (in *PodStorageSettings) DeepCopyInto(out *PodStorageSettings)

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

type Storage

type Storage struct {
	// The storage backend to use for the backups.
	// +kubebuilder:validation:Enum=google_storage;azure_blobs;s3;s3_compatible;s3_rgw;ibm_storage
	// +kubebuilder:validation:Required
	StorageProvider string `json:"storageProvider,omitempty"`

	// Type of credentials to use for authentication.
	// Can be "role-based", "credential-based" or empty.
	// +kubebuilder:validation:Enum=role-based;credential-based;
	// +optional
	CredentialsType string `json:"credentialsType,omitempty"`

	// Kubernetes Secret that stores the key file for the storage provider's API.
	// If using 'local' storage, this value is ignored.
	// +optional
	StorageSecretRef corev1.LocalObjectReference `json:"storageSecretRef,omitempty"`

	// The name of the bucket to use for the backups.
	// +kubebuilder:validation:Required
	BucketName string `json:"bucketName,omitempty"`

	// Name of the top level folder in the backup bucket.
	// If empty, the cluster name will be used.
	// +optional
	Prefix string `json:"prefix,omitempty"`

	// Maximum backup age that the purge process should observe.
	// +kubebuilder:default=0
	// +optional
	MaxBackupAge int `json:"maxBackupAge,omitempty"`

	// Maximum number of backups to keep (used by the purge process).
	// Default is unlimited.
	// +kubebuilder:default=0
	// +optional
	MaxBackupCount int `json:"maxBackupCount,omitempty"`

	// AWS Profile to use for authentication.
	// +optional
	ApiProfile string `json:"apiProfile,omitempty"`

	// Max upload bandwidth in MB/s.
	// Defaults to 50 MB/s.
	// +kubebuilder:default="50MB/s"
	// +optional
	TransferMaxBandwidth string `json:"transferMaxBandwidth,omitempty"`

	// Number of concurrent uploads.
	// Helps maximizing the speed of uploads but puts more pressure on the network.
	// Defaults to 0.
	// +kubebuilder:default=0
	// +optional
	ConcurrentTransfers int `json:"concurrentTransfers,omitempty"`

	// File size over which cloud specific cli tools are used for transfer.
	// Defaults to 100 MB.
	// +kubebuilder:default=104857600
	// +optional
	MultiPartUploadThreshold int `json:"multiPartUploadThreshold,omitempty"`

	// Host to connect to for the storage backend.
	// +optional
	Host string `json:"host,omitempty"`

	// Region of the storage bucket.
	// Defaults to "default".
	// +optional
	Region string `json:"region,omitempty"`

	// Port to connect to for the storage backend.
	// +optional
	Port int `json:"port,omitempty"`

	// Whether to use SSL for the storage backend.
	// +optional
	Secure bool `json:"secure,omitempty"`

	// When using SSL, whether to also verify the certificate.
	// +optional
	SslVerify bool `json:"sslVerify,omitempty"`

	// Age after which orphan sstables can be deleted from the storage backend.
	// Protects from race conditions between purge and ongoing backups.
	// Defaults to 10 days.
	// +optional
	BackupGracePeriodInDays int `json:"backupGracePeriodInDays,omitempty"`

	// Pod storage settings for the local storage provider
	// +optional
	PodStorage *PodStorageSettings `json:"podStorage,omitempty"`
}

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

type TaskResult added in v1.1.0

type TaskResult struct {
	// Name of the pod that ran the task. Always populated.
	PodName string `json:"podName,omitempty"`

	// Number of backups that were purged. Only populated for purge tasks.
	NbBackupsPurged int `json:"nbBackupsPurged,omitempty"`

	// Number of objects/files that were purged. Only populated for purge tasks.
	NbObjectsPurged int `json:"nbObjectsPurged,omitempty"`

	// Total size of purged files. Only populated for purge tasks.
	TotalPurgedSize int `json:"totalPurgedSize,omitempty"`

	// Number of objects that couldn't be deleted due to Medusa GC grace. Only populated for purge tasks.
	TotalObjectsWithinGcGrace int `json:"totalObjectsWithinGcGrace,omitempty"`
}

func (*TaskResult) DeepCopy added in v1.1.0

func (in *TaskResult) DeepCopy() *TaskResult

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

func (*TaskResult) DeepCopyInto added in v1.1.0

func (in *TaskResult) DeepCopyInto(out *TaskResult)

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

Jump to

Keyboard shortcuts

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