v1alpha1

package
v1.3.0-beta1 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2022 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")
)

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 CassandraBackup

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

	Spec   CassandraBackupSpec   `json:"spec,omitempty"`
	Status CassandraBackupStatus `json:"status,omitempty"`
}

CassandraBackup is the Schema for the cassandrabackups API

func (*CassandraBackup) DeepCopy

func (in *CassandraBackup) DeepCopy() *CassandraBackup

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

func (*CassandraBackup) DeepCopyInto

func (in *CassandraBackup) DeepCopyInto(out *CassandraBackup)

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

func (*CassandraBackup) DeepCopyObject

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

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

type CassandraBackupList

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

CassandraBackupList contains a list of CassandraBackup

func (*CassandraBackupList) DeepCopy

func (in *CassandraBackupList) DeepCopy() *CassandraBackupList

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

func (*CassandraBackupList) DeepCopyInto

func (in *CassandraBackupList) DeepCopyInto(out *CassandraBackupList)

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

func (*CassandraBackupList) DeepCopyObject

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

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

type CassandraBackupSpec

type CassandraBackupSpec struct {
	// The name of the backup.
	// TODO document format of generated name
	Name string `json:"name,omitempty"`

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

CassandraBackupSpec defines the desired state of CassandraBackup

func (*CassandraBackupSpec) DeepCopy

func (in *CassandraBackupSpec) DeepCopy() *CassandraBackupSpec

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

func (*CassandraBackupSpec) DeepCopyInto

func (in *CassandraBackupSpec) DeepCopyInto(out *CassandraBackupSpec)

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

type CassandraBackupStatus

type CassandraBackupStatus struct {
	CassdcTemplateSpec *CassandraDatacenterTemplateSpec `json:"cassdcTemplateSpec,omitempty"`

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

CassandraBackupStatus defines the observed state of CassandraBackup

func (*CassandraBackupStatus) DeepCopy

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

func (*CassandraBackupStatus) DeepCopyInto

func (in *CassandraBackupStatus) DeepCopyInto(out *CassandraBackupStatus)

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

type CassandraDatacenterConfig

type CassandraDatacenterConfig struct {
	// The name to give the new, restored CassandraDatacenter
	Name string `json:"name"`

	// The name to give the C* cluster.
	ClusterName string `json:"clusterName"`
}

func (*CassandraDatacenterConfig) DeepCopy

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

func (*CassandraDatacenterConfig) DeepCopyInto

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

type CassandraDatacenterTemplateSpec

type CassandraDatacenterTemplateSpec struct {
	// Standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec cassdcapi.CassandraDatacenterSpec `json:"spec"`
}

func (*CassandraDatacenterTemplateSpec) DeepCopy

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

func (*CassandraDatacenterTemplateSpec) DeepCopyInto

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

type CassandraRestore

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

	Spec   CassandraRestoreSpec   `json:"spec,omitempty"`
	Status CassandraRestoreStatus `json:"status,omitempty"`
}

CassandraRestore is the Schema for the cassandrarestores API

func (*CassandraRestore) DeepCopy

func (in *CassandraRestore) DeepCopy() *CassandraRestore

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

func (*CassandraRestore) DeepCopyInto

func (in *CassandraRestore) DeepCopyInto(out *CassandraRestore)

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

func (*CassandraRestore) DeepCopyObject

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

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

type CassandraRestoreList

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

CassandraRestoreList contains a list of CassandraRestore

func (*CassandraRestoreList) DeepCopy

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

func (*CassandraRestoreList) DeepCopyInto

func (in *CassandraRestoreList) DeepCopyInto(out *CassandraRestoreList)

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

func (*CassandraRestoreList) DeepCopyObject

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

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

type CassandraRestoreSpec

type CassandraRestoreSpec struct {
	// The name of the CassandraBackup to restore
	Backup string `json:"backup"`

	// When true the restore will be performed on the source cluster from which the backup
	// was taken. There will be a rolling restart of the source cluster.
	InPlace bool `json:"inPlace,omitEmpty"`

	// When set to true, the cluster is shutdown before the restore is applied. This is necessary
	// process if there are schema changes between the backup and current schema. Recommended.
	Shutdown bool `json:"shutdown,omitEmpty"`

	CassandraDatacenter CassandraDatacenterConfig `json:"cassandraDatacenter"`
}

CassandraRestoreSpec defines the desired state of CassandraRestore

func (*CassandraRestoreSpec) DeepCopy

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

func (*CassandraRestoreSpec) DeepCopyInto

func (in *CassandraRestoreSpec) DeepCopyInto(out *CassandraRestoreSpec)

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

type CassandraRestoreStatus

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

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

CassandraRestoreStatus defines the observed state of CassandraRestore

func (*CassandraRestoreStatus) DeepCopy

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

func (*CassandraRestoreStatus) DeepCopyInto

func (in *CassandraRestoreStatus) DeepCopyInto(out *CassandraRestoreStatus)

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 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 CassandraBackup to be created for this job
	BackupSpec MedusaBackupJobSpec `json:"backupSpec"`
}

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

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

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

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

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 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=local;google_storage;azure_blobs;s3;s3_compatible;s3_rgw;ibm_storage
	// +kubebuilder:validation:Required
	StorageProvider string `json:"storageProvider,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 1.
	// +kubebuilder:default=1
	// +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"`

	// 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