ArangoDB v3.12 is under development and not released yet. This documentation is not final and potentially incomplete.
ArangoBackupPolicy Custom Resource
The ArangoBackupPolicy represents schedule definition for creating ArangoBackup Custom Resources by operator.
This deployment specification is a CustomResource
following a CustomResourceDefinition
created by the operator.
Examples
Create schedule for all deployments
You can create an ArangoBackup Custom Resource for each ArangoBackup every 15 minutes.
apiVersion: "backup.arangodb.com/v1"
kind: "ArangoBackupPolicy"
metadata:
name: "example-arangodb-backup-policy"
spec:
schedule: "*/15 * * * *"
Create schedule for selected deployments
You can create an ArangoBackup Custom Resource for selected ArangoBackups every 15 minutes.
apiVersion: "backup.arangodb.com/v1"
kind: "ArangoBackupPolicy"
metadata:
name: "example-arangodb-backup-policy"
spec:
schedule: "*/15 * * * *"
selector:
matchLabels:
labelName: "labelValue"
Create schedule for all deployments and upload
You can create an ArangoBackup Custom Resource for each ArangoBackup every 15 minutes and upload it to the specified repositoryURL.
apiVersion: "backup.arangodb.com/v1"
kind: "ArangoBackupPolicy"
metadata:
name: "example-arangodb-backup-policy"
spec:
schedule: "*/15 * * * * "
template:
upload:
repositoryURL: "s3:/..."
credentialsSecretName: "secret-name"
Create schedule for all deployments, don’t allow parallel backup runs, keep limited number of backups
You can create an ArangoBackup Custom Resource for each ArangoBackup every 15 minutes. You can keep 10 backups per deployment at the same time, and delete the oldest ones. Don’t allow to run backup if previous backup is not finished.
apiVersion: "backup.arangodb.com/v1"
kind: "ArangoBackupPolicy"
metadata:
name: "example-arangodb-backup-policy"
spec:
schedule: "*/15 * * * *"
maxBackups: 10
allowConcurrent: False
ArangoBackup Custom Resource Spec
apiVersion: "backup.arangodb.com/v1"
kind: "ArangoBackupPolicy"
metadata:
name: "example-arangodb-backup-policy"
spec:
schedule: "*/15 * * * * "
selector:
matchLabels:
labelName: "labelValue"
matchExpressions: []
template:
options:
timeout: 3
force: true
upload:
repositoryURL: "s3:/..."
credentialsSecretName: "secret-name"
status:
scheduled: "time"
message: "message"
spec: Object
Spec of the ArangoBackupPolicy Custom Resource
Required: true
Default: {}
spec.schedule: String
Schedule definition. Parser from https://godoc.org/github.com/robfig/cron
Required: true
Default: ""
spec.allowConcurrent: String
If false, ArangoBackup will not be created when previous backups are not finished.
ScheduleSkipped
event will be published in that case.
Required: false
Default: True
spec.maxBackups: Integer
If > 0, then old healthy backups of that policy will be removed to ensure that only maxBackups
are present at same time.
CleanedUpOldBackups
event will be published on automatic removal of old backups.
Required: false
Default: 0
spec.selector: Object
Selector definition for selecting matching ArangoBackup Custom Resources. Parser from https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1#LabelSelector
Required: false
Default: {}
spec.template: ArangoBackupTemplate
Template for the ArangoBackup Custom Resource
Required: false
Default: {}
spec.template.options: ArangoBackup - spec.options
ArangoBackup options
Required: false
Default: {}
spec.template.upload: ArangoBackup - spec.upload
ArangoBackup upload configuration
Required: false
Default: {}
status: Object
Status of the ArangoBackupPolicy Custom Resource managed by operator
Required: true
Default: {}
status.scheduled: TimeStamp
Next scheduled time in UTC
Required: true
Default: ""
status.message: String
Message from the operator in case of failure - schedule not valid, ArangoBackupPolicy not valid
Required: false
Default: ""