Skip to main content

Cassandra backup

apiVersion: db.orange.com/v2
kind: CassandraBackup
metadata:
name: backup-demo-scheduled
spec:
cassandraCluster: cluster-demo
datacenter: dc1
storageLocation: s3://cscetbon-lab
secret: aws-backup-secrets
entities: k1.standard1
snapshotTag: second
# I don't really expect you to run backups every minute ;)
schedule: "@every 1m"

CassandraBackup

FieldTypeDescriptionRequiredDefault
metadataObjectMetadatais metadata that all persisted resources must have, which includes all objects users must create.No-
specCassandraBackupSpecdefines the desired state of CassandraBackup.Nonil
statusCassandraBackupStatusdefines the observed state of CassandraBackup.Nonil

CassandraBackupSpec

FieldTypeDescriptionRequiredDefault
bandwidthstringSpecify the bandwidth to not exceed when uploading files to the cloud. Format supported is \d+[KMG] case insensitive. You can use values like 10M (meaning 10MB), 1024, 1024K, 2G, etc...no-
cassandraClusterstringName of the CassandraCluster to backupYes-
concurrentConnectionsint32Maximum number of threads used to download files from the cloud. Defaults to 10No-
datacenterstringCassandra DC name to back up, used to find the cassandra nodes in the CassandraClusterNo-
durationstringSpecify a duration the backup should try to last. See https://golang.org/pkg/time/#ParseDuration for an exhaustive list of the supported units. You can use values like .25h, 15m, 900s all meaning 15 minutesNo-
entitiesstringDatabase entities to backup, it might be either only keyspaces or only tables prefixed by their respective keyspace, e.g. 'k1,k2' if one wants to backup whole keyspaces or 'ks1.t1,ks2.t2' if one wants to restore specific tables. These formats are mutually exclusive so 'k1,k2.t2' is invalid. An empty field will backup all keyspacesNo-
schedulestringSpecify a schedule to assigned to the backup. The schedule doesn't enforce anything so if you schedule multiple backups around the same time they would conflict. See https://godoc.org/github.com/robfig/cron for more information regarding the supported formatsNo-
secretstringName of Secret to use when accessing cloud storage providersNo-
snapshotTagstringname of snapshot to make so this snapshot will be uploaded to storage location. If not specified, the name of snapshot will be automatically generated and it will have name 'autosnap-milliseconds-since-epoch'Yes-
storageLocationstringURI for the backup target location e.g. s3 bucket, filepathYes-

CassandraBackupStatus

FieldTypeDescriptionRequiredDefault
conditionConditionBackRestCondition describes the observed state of a Restore at a certain pointYes-
coordinatorMemberstringName of the pod the restore operation is executed onYes-
idstringunique identifier of an operation, a random id is assigned to each operation after a request is submitted, from caller's perspective, an id is sent back as a response to his request so he can further query state of that operation, referencing id, by operations/{id} endpointYes-
progressstringProgress is a percentage, 100% means the operation is completed, either successfully or with errorsYes-
timeCompletedstringYes-
timeCreatedstringYes-
timeStartedstringYes-

Condition

FieldTypeDescriptionRequiredDefault
failureCause[]itemsYesnil
lastTransitionTimestringYes-
typestringYes-

Items

FieldTypeDescriptionRequiredDefault
messagestringmessage explaining the errorYes-
sourcestringhostame of a node where this error has occurredYes-