medusa

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: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultMedusaImageRepository = "k8ssandra"
	DefaultMedusaImageName       = "medusa"
	DefaultMedusaVersion         = "0.20.1"
	DefaultMedusaPort            = 50051
	DefaultProbeInitialDelay     = 10
	DefaultProbeTimeout          = 1
	DefaultProbePeriod           = 10
	DefaultProbeSuccessThreshold = 1
	DefaultProbeFailureThreshold = 10

	InitContainerMemRequest = "100Mi"
	InitContainerMemLimit   = "8Gi"
	InitContainerCpuRequest = "100m"
	MainContainerMemRequest = "100Mi"
	MainContainerMemLimit   = "8Gi"
	MainContainerCpuRequest = "100m"

	MedusaBackupsVolumeName = "medusa-backups"
	MedusaBackupsMountPath  = "/mnt/backups"
)

Variables

View Source
var (
	StatusType_name = map[int32]string{
		0: "IN_PROGRESS",
		1: "SUCCESS",
		2: "FAILED",
		3: "UNKNOWN",
	}
	StatusType_value = map[string]int32{
		"IN_PROGRESS": 0,
		"SUCCESS":     1,
		"FAILED":      2,
		"UNKNOWN":     3,
	}
)

Enum value maps for StatusType.

View Source
var (
	BackupRequest_Mode_name = map[int32]string{
		0: "DIFFERENTIAL",
		1: "FULL",
	}
	BackupRequest_Mode_value = map[string]int32{
		"DIFFERENTIAL": 0,
		"FULL":         1,
	}
)

Enum value maps for BackupRequest_Mode.

View Source
var (
	// This error indicates that a pod (or pods) do not include the medusa backup sidecar
	// container.
	BackupSidecarNotFound = errors.New("the backup sidecar was not found")
)
View Source
var File_pkg_medusa_medusa_proto protoreflect.FileDescriptor
View Source
var Medusa_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "Medusa",
	HandlerType: (*MedusaServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Backup",
			Handler:    _Medusa_Backup_Handler,
		},
		{
			MethodName: "AsyncBackup",
			Handler:    _Medusa_AsyncBackup_Handler,
		},
		{
			MethodName: "BackupStatus",
			Handler:    _Medusa_BackupStatus_Handler,
		},
		{
			MethodName: "DeleteBackup",
			Handler:    _Medusa_DeleteBackup_Handler,
		},
		{
			MethodName: "GetBackup",
			Handler:    _Medusa_GetBackup_Handler,
		},
		{
			MethodName: "GetBackups",
			Handler:    _Medusa_GetBackups_Handler,
		},
		{
			MethodName: "PurgeBackups",
			Handler:    _Medusa_PurgeBackups_Handler,
		},
		{
			MethodName: "PrepareRestore",
			Handler:    _Medusa_PrepareRestore_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "pkg/medusa/medusa.proto",
}

Medusa_ServiceDesc is the grpc.ServiceDesc for Medusa service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func CassandraUserSecretName

func CassandraUserSecretName(medusaSpec *api.MedusaClusterTemplate, k8cName string) string

CassandraUserSecretName gets the cassandra user secret name from the medusa spec or generate one based on the cluster name.

func CreateMedusaConfigMap

func CreateMedusaConfigMap(namespace, k8cName, medusaIni string) *corev1.ConfigMap

func CreateMedusaIni

func CreateMedusaIni(kc *k8ss.K8ssandraCluster, dcConfig *cassandra.DatacenterConfig) string

func CreateMedusaMainContainer added in v1.8.0

func CreateMedusaMainContainer(dcConfig *cassandra.DatacenterConfig, medusaSpec *api.MedusaClusterTemplate, useExternalSecrets bool, k8cName string, logger logr.Logger) (*corev1.Container, error)

func GenerateMedusaVolumes added in v1.8.0

func GenerateMedusaVolumes(dcConfig *cassandra.DatacenterConfig, medusaSpec *api.MedusaClusterTemplate, k8cName string) []medusaVolume

Create or update volumes for medusa

func GetCassandraDatacenterPods added in v1.1.0

func GetCassandraDatacenterPods(ctx context.Context, cassdc *cassdcapi.CassandraDatacenter, r client.Reader, logger logr.Logger) ([]corev1.Pod, error)

func MedusaPurgeCronJobName added in v1.12.0

func MedusaPurgeCronJobName(clusterName string, dcName string) string

func MedusaServiceName added in v1.8.0

func MedusaServiceName(clusterName string, dcName string) string

func MedusaStandaloneDeploymentName added in v1.8.0

func MedusaStandaloneDeploymentName(clusterName string, dcName string) string

func PurgeCronJob added in v1.12.0

func PurgeCronJob(dcConfig *cassandra.DatacenterConfig, clusterName, namespace string, logger logr.Logger) (*batchv1.CronJob, error)

func RefreshSecrets added in v1.12.0

func RefreshSecrets(dc *cassdcapi.CassandraDatacenter, ctx context.Context, client client.Client, logger logr.Logger, requeueDelay time.Duration, restoreTimestamp metav1.Time) result.ReconcileResult

func RegisterMedusaServer

func RegisterMedusaServer(s grpc.ServiceRegistrar, srv MedusaServer)

func StandaloneMedusaDeployment added in v1.8.0

func StandaloneMedusaDeployment(medusaContainer corev1.Container, clusterName, dcName, namespace string, logger logr.Logger, medusaImage *images.Image) *appsv1.Deployment

func StandaloneMedusaService added in v1.8.0

func StandaloneMedusaService(dcConfig *cassandra.DatacenterConfig, medusaSpec *api.MedusaClusterTemplate, clusterName, namespace string, logger logr.Logger) *corev1.Service

func UpdateMedusaInitContainer

func UpdateMedusaInitContainer(dcConfig *cassandra.DatacenterConfig, medusaSpec *api.MedusaClusterTemplate, useExternalSecrets bool, k8cName string, logger logr.Logger)

func UpdateMedusaMainContainer

func UpdateMedusaMainContainer(dcConfig *cassandra.DatacenterConfig, medusaContainer *corev1.Container)

Types

type BackupNode

type BackupNode struct {
	Host       string  `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	Tokens     []int64 `protobuf:"varint,2,rep,packed,name=tokens,proto3" json:"tokens,omitempty"`
	Datacenter string  `protobuf:"bytes,3,opt,name=datacenter,proto3" json:"datacenter,omitempty"`
	Rack       string  `protobuf:"bytes,4,opt,name=rack,proto3" json:"rack,omitempty"`
	// contains filtered or unexported fields
}

func (*BackupNode) Descriptor deprecated

func (*BackupNode) Descriptor() ([]byte, []int)

Deprecated: Use BackupNode.ProtoReflect.Descriptor instead.

func (*BackupNode) GetDatacenter

func (x *BackupNode) GetDatacenter() string

func (*BackupNode) GetHost

func (x *BackupNode) GetHost() string

func (*BackupNode) GetRack

func (x *BackupNode) GetRack() string

func (*BackupNode) GetTokens

func (x *BackupNode) GetTokens() []int64

func (*BackupNode) ProtoMessage

func (*BackupNode) ProtoMessage()

func (*BackupNode) ProtoReflect

func (x *BackupNode) ProtoReflect() protoreflect.Message

func (*BackupNode) Reset

func (x *BackupNode) Reset()

func (*BackupNode) String

func (x *BackupNode) String() string

type BackupRequest

type BackupRequest struct {
	Name string             `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Mode BackupRequest_Mode `protobuf:"varint,2,opt,name=mode,proto3,enum=BackupRequest_Mode" json:"mode,omitempty"`
	// contains filtered or unexported fields
}

func (*BackupRequest) Descriptor deprecated

func (*BackupRequest) Descriptor() ([]byte, []int)

Deprecated: Use BackupRequest.ProtoReflect.Descriptor instead.

func (*BackupRequest) GetMode

func (x *BackupRequest) GetMode() BackupRequest_Mode

func (*BackupRequest) GetName

func (x *BackupRequest) GetName() string

func (*BackupRequest) ProtoMessage

func (*BackupRequest) ProtoMessage()

func (*BackupRequest) ProtoReflect

func (x *BackupRequest) ProtoReflect() protoreflect.Message

func (*BackupRequest) Reset

func (x *BackupRequest) Reset()

func (*BackupRequest) String

func (x *BackupRequest) String() string

type BackupRequest_Mode

type BackupRequest_Mode int32
const (
	BackupRequest_DIFFERENTIAL BackupRequest_Mode = 0
	BackupRequest_FULL         BackupRequest_Mode = 1
)

func (BackupRequest_Mode) Descriptor

func (BackupRequest_Mode) Enum

func (BackupRequest_Mode) EnumDescriptor deprecated

func (BackupRequest_Mode) EnumDescriptor() ([]byte, []int)

Deprecated: Use BackupRequest_Mode.Descriptor instead.

func (BackupRequest_Mode) Number

func (BackupRequest_Mode) String

func (x BackupRequest_Mode) String() string

func (BackupRequest_Mode) Type

type BackupResponse

type BackupResponse struct {
	BackupName string     `protobuf:"bytes,1,opt,name=backupName,proto3" json:"backupName,omitempty"`
	Status     StatusType `protobuf:"varint,2,opt,name=status,proto3,enum=StatusType" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*BackupResponse) Descriptor deprecated

func (*BackupResponse) Descriptor() ([]byte, []int)

Deprecated: Use BackupResponse.ProtoReflect.Descriptor instead.

func (*BackupResponse) GetBackupName added in v1.1.0

func (x *BackupResponse) GetBackupName() string

func (*BackupResponse) GetStatus added in v1.1.0

func (x *BackupResponse) GetStatus() StatusType

func (*BackupResponse) ProtoMessage

func (*BackupResponse) ProtoMessage()

func (*BackupResponse) ProtoReflect

func (x *BackupResponse) ProtoReflect() protoreflect.Message

func (*BackupResponse) Reset

func (x *BackupResponse) Reset()

func (*BackupResponse) String

func (x *BackupResponse) String() string

type BackupStatusRequest

type BackupStatusRequest struct {
	BackupName string `protobuf:"bytes,1,opt,name=backupName,proto3" json:"backupName,omitempty"`
	// contains filtered or unexported fields
}

func (*BackupStatusRequest) Descriptor deprecated

func (*BackupStatusRequest) Descriptor() ([]byte, []int)

Deprecated: Use BackupStatusRequest.ProtoReflect.Descriptor instead.

func (*BackupStatusRequest) GetBackupName

func (x *BackupStatusRequest) GetBackupName() string

func (*BackupStatusRequest) ProtoMessage

func (*BackupStatusRequest) ProtoMessage()

func (*BackupStatusRequest) ProtoReflect

func (x *BackupStatusRequest) ProtoReflect() protoreflect.Message

func (*BackupStatusRequest) Reset

func (x *BackupStatusRequest) Reset()

func (*BackupStatusRequest) String

func (x *BackupStatusRequest) String() string

type BackupStatusResponse

type BackupStatusResponse struct {
	StartTime  string     `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"`
	FinishTime string     `protobuf:"bytes,2,opt,name=finishTime,proto3" json:"finishTime,omitempty"`
	Status     StatusType `protobuf:"varint,3,opt,name=status,proto3,enum=StatusType" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*BackupStatusResponse) Descriptor deprecated

func (*BackupStatusResponse) Descriptor() ([]byte, []int)

Deprecated: Use BackupStatusResponse.ProtoReflect.Descriptor instead.

func (*BackupStatusResponse) GetFinishTime

func (x *BackupStatusResponse) GetFinishTime() string

func (*BackupStatusResponse) GetStartTime

func (x *BackupStatusResponse) GetStartTime() string

func (*BackupStatusResponse) GetStatus added in v1.1.0

func (x *BackupStatusResponse) GetStatus() StatusType

func (*BackupStatusResponse) ProtoMessage

func (*BackupStatusResponse) ProtoMessage()

func (*BackupStatusResponse) ProtoReflect

func (x *BackupStatusResponse) ProtoReflect() protoreflect.Message

func (*BackupStatusResponse) Reset

func (x *BackupStatusResponse) Reset()

func (*BackupStatusResponse) String

func (x *BackupStatusResponse) String() string

type BackupSummary

type BackupSummary struct {
	BackupName    string        `protobuf:"bytes,1,opt,name=backupName,proto3" json:"backupName,omitempty"`
	StartTime     int64         `protobuf:"varint,2,opt,name=startTime,proto3" json:"startTime,omitempty"`
	FinishTime    int64         `protobuf:"varint,3,opt,name=finishTime,proto3" json:"finishTime,omitempty"`
	TotalNodes    int32         `protobuf:"varint,4,opt,name=totalNodes,proto3" json:"totalNodes,omitempty"`
	FinishedNodes int32         `protobuf:"varint,5,opt,name=finishedNodes,proto3" json:"finishedNodes,omitempty"`
	Nodes         []*BackupNode `protobuf:"bytes,6,rep,name=nodes,proto3" json:"nodes,omitempty"`
	Status        StatusType    `protobuf:"varint,7,opt,name=status,proto3,enum=StatusType" json:"status,omitempty"`
	BackupType    string        `protobuf:"bytes,8,opt,name=backupType,proto3" json:"backupType,omitempty"`
	TotalSize     int64         `protobuf:"varint,9,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	TotalObjects  int64         `protobuf:"varint,10,opt,name=totalObjects,proto3" json:"totalObjects,omitempty"`
	// contains filtered or unexported fields
}

func (*BackupSummary) Descriptor deprecated

func (*BackupSummary) Descriptor() ([]byte, []int)

Deprecated: Use BackupSummary.ProtoReflect.Descriptor instead.

func (*BackupSummary) GetBackupName

func (x *BackupSummary) GetBackupName() string

func (*BackupSummary) GetBackupType added in v1.1.0

func (x *BackupSummary) GetBackupType() string

func (*BackupSummary) GetFinishTime

func (x *BackupSummary) GetFinishTime() int64

func (*BackupSummary) GetFinishedNodes

func (x *BackupSummary) GetFinishedNodes() int32

func (*BackupSummary) GetNodes

func (x *BackupSummary) GetNodes() []*BackupNode

func (*BackupSummary) GetStartTime

func (x *BackupSummary) GetStartTime() int64

func (*BackupSummary) GetStatus added in v1.1.0

func (x *BackupSummary) GetStatus() StatusType

func (*BackupSummary) GetTotalNodes

func (x *BackupSummary) GetTotalNodes() int32

func (*BackupSummary) GetTotalObjects added in v1.11.0

func (x *BackupSummary) GetTotalObjects() int64

func (*BackupSummary) GetTotalSize added in v1.11.0

func (x *BackupSummary) GetTotalSize() int64

func (*BackupSummary) ProtoMessage

func (*BackupSummary) ProtoMessage()

func (*BackupSummary) ProtoReflect

func (x *BackupSummary) ProtoReflect() protoreflect.Message

func (*BackupSummary) Reset

func (x *BackupSummary) Reset()

func (*BackupSummary) String

func (x *BackupSummary) String() string

type Client

type Client interface {
	Close() error

	CreateBackup(ctx context.Context, name string, backupType string) (*BackupResponse, error)

	GetBackups(ctx context.Context) ([]*BackupSummary, error)

	PurgeBackups(ctx context.Context) (*PurgeBackupsResponse, error)

	PrepareRestore(ctx context.Context, datacenter, backupName, restoreKey string) (*PrepareRestoreResponse, error)

	BackupStatus(ctx context.Context, backupName string) (*BackupStatusResponse, error)
}

type ClientFactory

type ClientFactory interface {
	NewClient(ctx context.Context, address string) (Client, error)
}

type DefaultFactory

type DefaultFactory struct {
	// contains filtered or unexported fields
}

func (*DefaultFactory) NewClient

func (f *DefaultFactory) NewClient(ctx context.Context, address string) (Client, error)

type DeleteBackupRequest

type DeleteBackupRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteBackupRequest) Descriptor deprecated

func (*DeleteBackupRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteBackupRequest.ProtoReflect.Descriptor instead.

func (*DeleteBackupRequest) GetName

func (x *DeleteBackupRequest) GetName() string

func (*DeleteBackupRequest) ProtoMessage

func (*DeleteBackupRequest) ProtoMessage()

func (*DeleteBackupRequest) ProtoReflect

func (x *DeleteBackupRequest) ProtoReflect() protoreflect.Message

func (*DeleteBackupRequest) Reset

func (x *DeleteBackupRequest) Reset()

func (*DeleteBackupRequest) String

func (x *DeleteBackupRequest) String() string

type DeleteBackupResponse

type DeleteBackupResponse struct {
	Name   string     `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Status StatusType `protobuf:"varint,2,opt,name=status,proto3,enum=StatusType" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteBackupResponse) Descriptor deprecated

func (*DeleteBackupResponse) Descriptor() ([]byte, []int)

Deprecated: Use DeleteBackupResponse.ProtoReflect.Descriptor instead.

func (*DeleteBackupResponse) GetName added in v1.1.0

func (x *DeleteBackupResponse) GetName() string

func (*DeleteBackupResponse) GetStatus added in v1.1.0

func (x *DeleteBackupResponse) GetStatus() StatusType

func (*DeleteBackupResponse) ProtoMessage

func (*DeleteBackupResponse) ProtoMessage()

func (*DeleteBackupResponse) ProtoReflect

func (x *DeleteBackupResponse) ProtoReflect() protoreflect.Message

func (*DeleteBackupResponse) Reset

func (x *DeleteBackupResponse) Reset()

func (*DeleteBackupResponse) String

func (x *DeleteBackupResponse) String() string

type GetBackupRequest added in v1.11.0

type GetBackupRequest struct {
	BackupName string `protobuf:"bytes,1,opt,name=backupName,proto3" json:"backupName,omitempty"`
	// contains filtered or unexported fields
}

func (*GetBackupRequest) Descriptor deprecated added in v1.11.0

func (*GetBackupRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetBackupRequest.ProtoReflect.Descriptor instead.

func (*GetBackupRequest) GetBackupName added in v1.11.0

func (x *GetBackupRequest) GetBackupName() string

func (*GetBackupRequest) ProtoMessage added in v1.11.0

func (*GetBackupRequest) ProtoMessage()

func (*GetBackupRequest) ProtoReflect added in v1.11.0

func (x *GetBackupRequest) ProtoReflect() protoreflect.Message

func (*GetBackupRequest) Reset added in v1.11.0

func (x *GetBackupRequest) Reset()

func (*GetBackupRequest) String added in v1.11.0

func (x *GetBackupRequest) String() string

type GetBackupResponse added in v1.11.0

type GetBackupResponse struct {
	Backup *BackupSummary `protobuf:"bytes,1,opt,name=backup,proto3" json:"backup,omitempty"`
	Status StatusType     `protobuf:"varint,2,opt,name=status,proto3,enum=StatusType" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*GetBackupResponse) Descriptor deprecated added in v1.11.0

func (*GetBackupResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetBackupResponse.ProtoReflect.Descriptor instead.

func (*GetBackupResponse) GetBackup added in v1.11.0

func (x *GetBackupResponse) GetBackup() *BackupSummary

func (*GetBackupResponse) GetStatus added in v1.11.0

func (x *GetBackupResponse) GetStatus() StatusType

func (*GetBackupResponse) ProtoMessage added in v1.11.0

func (*GetBackupResponse) ProtoMessage()

func (*GetBackupResponse) ProtoReflect added in v1.11.0

func (x *GetBackupResponse) ProtoReflect() protoreflect.Message

func (*GetBackupResponse) Reset added in v1.11.0

func (x *GetBackupResponse) Reset()

func (*GetBackupResponse) String added in v1.11.0

func (x *GetBackupResponse) String() string

type GetBackupsRequest

type GetBackupsRequest struct {
	// contains filtered or unexported fields
}

func (*GetBackupsRequest) Descriptor deprecated

func (*GetBackupsRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetBackupsRequest.ProtoReflect.Descriptor instead.

func (*GetBackupsRequest) ProtoMessage

func (*GetBackupsRequest) ProtoMessage()

func (*GetBackupsRequest) ProtoReflect

func (x *GetBackupsRequest) ProtoReflect() protoreflect.Message

func (*GetBackupsRequest) Reset

func (x *GetBackupsRequest) Reset()

func (*GetBackupsRequest) String

func (x *GetBackupsRequest) String() string

type GetBackupsResponse

type GetBackupsResponse struct {
	Backups       []*BackupSummary `protobuf:"bytes,1,rep,name=backups,proto3" json:"backups,omitempty"`
	OverallStatus StatusType       `protobuf:"varint,2,opt,name=overallStatus,proto3,enum=StatusType" json:"overallStatus,omitempty"`
	// contains filtered or unexported fields
}

func (*GetBackupsResponse) Descriptor deprecated

func (*GetBackupsResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetBackupsResponse.ProtoReflect.Descriptor instead.

func (*GetBackupsResponse) GetBackups

func (x *GetBackupsResponse) GetBackups() []*BackupSummary

func (*GetBackupsResponse) GetOverallStatus added in v1.1.0

func (x *GetBackupsResponse) GetOverallStatus() StatusType

func (*GetBackupsResponse) ProtoMessage

func (*GetBackupsResponse) ProtoMessage()

func (*GetBackupsResponse) ProtoReflect

func (x *GetBackupsResponse) ProtoReflect() protoreflect.Message

func (*GetBackupsResponse) Reset

func (x *GetBackupsResponse) Reset()

func (*GetBackupsResponse) String

func (x *GetBackupsResponse) String() string

type HostMapping added in v1.8.0

type HostMapping struct {
	Source string
	Target string
}

HostMapping is a type that reflects the mapping of source IP address from the Medusa backup to the target host name obtained from looking at the k8s statefulsets that comprise the Cassandra racks.

type HostMappingSlice added in v1.8.0

type HostMappingSlice []HostMapping

func FromSourceTargetMap added in v1.8.0

func FromSourceTargetMap(m map[string]string) HostMappingSlice

Transform map keyed by source IP with target IP values into HostMappingSlice

func FromTargetSourceMap added in v1.8.0

func FromTargetSourceMap(m map[string]string) HostMappingSlice

Transform map keyed by target IP with source IP values into HostMappingSlice

func GetHostMap added in v1.8.0

GetHostMap gets the hostmap for a given CassandraBackup from IP or DNS name sources to DNS named targets from the K8ssandraCluster and the backups returned by the Medusa gRPC client.

func (HostMappingSlice) IsInPlace added in v1.8.0

func (s HostMappingSlice) IsInPlace() (bool, error)

func (HostMappingSlice) ToMedusaRestoreMapping added in v1.8.0

func (s HostMappingSlice) ToMedusaRestoreMapping() (medusaapi.MedusaRestoreMapping, error)

func (HostMappingSlice) ToSourceTargetMap added in v1.8.0

func (m HostMappingSlice) ToSourceTargetMap() map[string]string

Transform HostMappingSlice into a map with source IPs as keys and Target IPs as values.

func (HostMappingSlice) ToTargetSourceMap added in v1.8.0

func (m HostMappingSlice) ToTargetSourceMap() map[string]string

Transform HostMappingSlice into a map with target IPs as keys and source IPs as values.

type MedusaClient

type MedusaClient interface {
	Backup(ctx context.Context, in *BackupRequest, opts ...grpc.CallOption) (*BackupResponse, error)
	AsyncBackup(ctx context.Context, in *BackupRequest, opts ...grpc.CallOption) (*BackupResponse, error)
	BackupStatus(ctx context.Context, in *BackupStatusRequest, opts ...grpc.CallOption) (*BackupStatusResponse, error)
	DeleteBackup(ctx context.Context, in *DeleteBackupRequest, opts ...grpc.CallOption) (*DeleteBackupResponse, error)
	GetBackup(ctx context.Context, in *GetBackupRequest, opts ...grpc.CallOption) (*GetBackupResponse, error)
	GetBackups(ctx context.Context, in *GetBackupsRequest, opts ...grpc.CallOption) (*GetBackupsResponse, error)
	PurgeBackups(ctx context.Context, in *PurgeBackupsRequest, opts ...grpc.CallOption) (*PurgeBackupsResponse, error)
	PrepareRestore(ctx context.Context, in *PrepareRestoreRequest, opts ...grpc.CallOption) (*PrepareRestoreResponse, error)
}

MedusaClient is the client API for Medusa service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewMedusaClient

func NewMedusaClient(cc grpc.ClientConnInterface) MedusaClient

type MedusaServer

MedusaServer is the server API for Medusa service. All implementations must embed UnimplementedMedusaServer for forward compatibility

type NodeLocation added in v1.8.0

type NodeLocation struct {
	Rack string
	DC   string
}

type PrepareRestoreRequest added in v1.1.0

type PrepareRestoreRequest struct {
	BackupName string `protobuf:"bytes,1,opt,name=backupName,proto3" json:"backupName,omitempty"`
	Datacenter string `protobuf:"bytes,2,opt,name=datacenter,proto3" json:"datacenter,omitempty"`
	RestoreKey string `protobuf:"bytes,3,opt,name=restoreKey,proto3" json:"restoreKey,omitempty"`
	// contains filtered or unexported fields
}

func (*PrepareRestoreRequest) Descriptor deprecated added in v1.1.0

func (*PrepareRestoreRequest) Descriptor() ([]byte, []int)

Deprecated: Use PrepareRestoreRequest.ProtoReflect.Descriptor instead.

func (*PrepareRestoreRequest) GetBackupName added in v1.1.0

func (x *PrepareRestoreRequest) GetBackupName() string

func (*PrepareRestoreRequest) GetDatacenter added in v1.1.0

func (x *PrepareRestoreRequest) GetDatacenter() string

func (*PrepareRestoreRequest) GetRestoreKey added in v1.1.0

func (x *PrepareRestoreRequest) GetRestoreKey() string

func (*PrepareRestoreRequest) ProtoMessage added in v1.1.0

func (*PrepareRestoreRequest) ProtoMessage()

func (*PrepareRestoreRequest) ProtoReflect added in v1.1.0

func (x *PrepareRestoreRequest) ProtoReflect() protoreflect.Message

func (*PrepareRestoreRequest) Reset added in v1.1.0

func (x *PrepareRestoreRequest) Reset()

func (*PrepareRestoreRequest) String added in v1.1.0

func (x *PrepareRestoreRequest) String() string

type PrepareRestoreResponse added in v1.1.0

type PrepareRestoreResponse struct {
	// contains filtered or unexported fields
}

func (*PrepareRestoreResponse) Descriptor deprecated added in v1.1.0

func (*PrepareRestoreResponse) Descriptor() ([]byte, []int)

Deprecated: Use PrepareRestoreResponse.ProtoReflect.Descriptor instead.

func (*PrepareRestoreResponse) ProtoMessage added in v1.1.0

func (*PrepareRestoreResponse) ProtoMessage()

func (*PrepareRestoreResponse) ProtoReflect added in v1.1.0

func (x *PrepareRestoreResponse) ProtoReflect() protoreflect.Message

func (*PrepareRestoreResponse) Reset added in v1.1.0

func (x *PrepareRestoreResponse) Reset()

func (*PrepareRestoreResponse) String added in v1.1.0

func (x *PrepareRestoreResponse) String() string

type PurgeBackupsRequest added in v1.1.0

type PurgeBackupsRequest struct {
	// contains filtered or unexported fields
}

func (*PurgeBackupsRequest) Descriptor deprecated added in v1.1.0

func (*PurgeBackupsRequest) Descriptor() ([]byte, []int)

Deprecated: Use PurgeBackupsRequest.ProtoReflect.Descriptor instead.

func (*PurgeBackupsRequest) ProtoMessage added in v1.1.0

func (*PurgeBackupsRequest) ProtoMessage()

func (*PurgeBackupsRequest) ProtoReflect added in v1.1.0

func (x *PurgeBackupsRequest) ProtoReflect() protoreflect.Message

func (*PurgeBackupsRequest) Reset added in v1.1.0

func (x *PurgeBackupsRequest) Reset()

func (*PurgeBackupsRequest) String added in v1.1.0

func (x *PurgeBackupsRequest) String() string

type PurgeBackupsResponse added in v1.1.0

type PurgeBackupsResponse struct {
	NbBackupsPurged           int32 `protobuf:"varint,1,opt,name=nbBackupsPurged,proto3" json:"nbBackupsPurged,omitempty"`
	NbObjectsPurged           int32 `protobuf:"varint,2,opt,name=nbObjectsPurged,proto3" json:"nbObjectsPurged,omitempty"`
	TotalPurgedSize           int64 `protobuf:"varint,3,opt,name=totalPurgedSize,proto3" json:"totalPurgedSize,omitempty"`
	TotalObjectsWithinGcGrace int32 `protobuf:"varint,4,opt,name=totalObjectsWithinGcGrace,proto3" json:"totalObjectsWithinGcGrace,omitempty"`
	// contains filtered or unexported fields
}

func (*PurgeBackupsResponse) Descriptor deprecated added in v1.1.0

func (*PurgeBackupsResponse) Descriptor() ([]byte, []int)

Deprecated: Use PurgeBackupsResponse.ProtoReflect.Descriptor instead.

func (*PurgeBackupsResponse) GetNbBackupsPurged added in v1.1.0

func (x *PurgeBackupsResponse) GetNbBackupsPurged() int32

func (*PurgeBackupsResponse) GetNbObjectsPurged added in v1.1.0

func (x *PurgeBackupsResponse) GetNbObjectsPurged() int32

func (*PurgeBackupsResponse) GetTotalObjectsWithinGcGrace added in v1.1.0

func (x *PurgeBackupsResponse) GetTotalObjectsWithinGcGrace() int32

func (*PurgeBackupsResponse) GetTotalPurgedSize added in v1.1.0

func (x *PurgeBackupsResponse) GetTotalPurgedSize() int64

func (*PurgeBackupsResponse) ProtoMessage added in v1.1.0

func (*PurgeBackupsResponse) ProtoMessage()

func (*PurgeBackupsResponse) ProtoReflect added in v1.1.0

func (x *PurgeBackupsResponse) ProtoReflect() protoreflect.Message

func (*PurgeBackupsResponse) Reset added in v1.1.0

func (x *PurgeBackupsResponse) Reset()

func (*PurgeBackupsResponse) String added in v1.1.0

func (x *PurgeBackupsResponse) String() string

type RequestFactory

type RequestFactory interface {
	// NewRestoreRequest Creates and initializes a RestoreRequest. The factory is
	// responsible for fetching the CassandraRestore, CassandraBackup, and
	// CassandraDatacenter objects from the api server. The factory returns a deep copy of
	// each of the objects, so there is no need to call DeepCopy() on them.
	// Reconciliation should proceed only if the returned Result is nil.
	NewMedusaRestoreRequest(ctx context.Context, restoreKey types.NamespacedName) (*RestoreRequest, *ctrl.Result, error)
}

func NewFactory

func NewFactory(client client.Client, logger logr.Logger) RequestFactory

type RestoreRequest

type RestoreRequest struct {
	Log logr.Logger

	RestoreJob *api.MedusaRestoreJob

	MedusaBackup *api.MedusaBackup

	Datacenter *cassdcapi.CassandraDatacenter
	// contains filtered or unexported fields
}

func (*RestoreRequest) DatacenterModified

func (r *RestoreRequest) DatacenterModified() bool

DatacenterModified returns true if the CassandraDatacenter.Spec has been modified.

func (*RestoreRequest) GetDatacenterPatch

func (r *RestoreRequest) GetDatacenterPatch() client.Patch

GetDatacenterPatch returns a patch that can be used to apply changes to the CassandraDatacenter. The patch is created when the RestoreRequest is initialized.

func (*RestoreRequest) GetRestorePatch

func (r *RestoreRequest) GetRestorePatch() client.Patch

GetRestorePatch returns a patch that can be used to apply changes to the CassandraRestore. The patch is created when the RestoreRequest is initialized.

func (*RestoreRequest) MedusaRestoreModified added in v1.1.0

func (r *RestoreRequest) MedusaRestoreModified() bool

MedusaRestoreModified returns true if the CassandraRestore.Status has been modified.

func (*RestoreRequest) SetDatacenterStoppedTimeRestoreJob added in v1.1.0

func (r *RestoreRequest) SetDatacenterStoppedTimeRestoreJob(t metav1.Time)

SetDatacenterStoppedTimeRestoreJob sets the stop time.

func (*RestoreRequest) SetMedusaRestoreFinishTime added in v1.1.0

func (r *RestoreRequest) SetMedusaRestoreFinishTime(time metav1.Time)

func (*RestoreRequest) SetMedusaRestoreKey added in v1.1.0

func (r *RestoreRequest) SetMedusaRestoreKey(key string)

SetMedusaRestoreKey sets the key. Note that this function is idempotent.

func (*RestoreRequest) SetMedusaRestoreMapping added in v1.8.0

func (r *RestoreRequest) SetMedusaRestoreMapping(restoreMapping api.MedusaRestoreMapping)

SetRestorePrepared sets the prepared flag. Note that this function is idempotent.

func (*RestoreRequest) SetMedusaRestorePrepared added in v1.1.0

func (r *RestoreRequest) SetMedusaRestorePrepared(prepared bool)

SetRestorePrepared sets the prepared flag. Note that this function is idempotent.

func (*RestoreRequest) SetMedusaRestoreStartTime added in v1.1.0

func (r *RestoreRequest) SetMedusaRestoreStartTime(t metav1.Time)

SetMedusaRestoreStartTime sets the start time. Note that this function is idempotent.

type StatusType added in v1.1.0

type StatusType int32
const (
	StatusType_IN_PROGRESS StatusType = 0
	StatusType_SUCCESS     StatusType = 1
	StatusType_FAILED      StatusType = 2
	StatusType_UNKNOWN     StatusType = 3
)

func (StatusType) Descriptor added in v1.1.0

func (StatusType) Descriptor() protoreflect.EnumDescriptor

func (StatusType) Enum added in v1.1.0

func (x StatusType) Enum() *StatusType

func (StatusType) EnumDescriptor deprecated added in v1.1.0

func (StatusType) EnumDescriptor() ([]byte, []int)

Deprecated: Use StatusType.Descriptor instead.

func (StatusType) Number added in v1.1.0

func (x StatusType) Number() protoreflect.EnumNumber

func (StatusType) String added in v1.1.0

func (x StatusType) String() string

func (StatusType) Type added in v1.1.0

type UnimplementedMedusaServer

type UnimplementedMedusaServer struct {
}

UnimplementedMedusaServer must be embedded to have forward compatible implementations.

func (UnimplementedMedusaServer) AsyncBackup added in v1.1.0

func (UnimplementedMedusaServer) Backup

func (UnimplementedMedusaServer) BackupStatus

func (UnimplementedMedusaServer) DeleteBackup

func (UnimplementedMedusaServer) GetBackup added in v1.11.0

func (UnimplementedMedusaServer) GetBackups

func (UnimplementedMedusaServer) PrepareRestore added in v1.1.0

func (UnimplementedMedusaServer) PurgeBackups added in v1.1.0

type UnsafeMedusaServer

type UnsafeMedusaServer interface {
	// contains filtered or unexported methods
}

UnsafeMedusaServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to MedusaServer will result in compilation errors.

Jump to

Keyboard shortcuts

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