ABS Configuration
Overview
Aerospike Backup Service (ABS) reads the configuration file aerospike-backup-service.yml
to create connections to Aerospike Database namespaces and storage destinations, as well as backup policies, routines, and schedules.
This page explains two sample configuration files included in the ABS GitHub repository and provides details and examples for the configuration parameters.
For the parameter list in OpenAPI format, see the Schemas section in the REST API specification.
Example configuration files
Docker Compose configuration
Default Docker Compose ABS Configuration:
The following sample backup service configuration supplied with the Docker Compose stack for ABS consists of four sections:
aerospike-clusters
defines the location and access credentials for ABS to communicate to the Aerospike database, calling that clusterabsCluster1
. Since this is a Docker Compose stack, it uses the Aerospike Database Docker container name"aerospike-cluster"
as the hostname instead of an IP address.storage
defines the location of the storage for database backups. Here, it creates a storage type calledminioStorage
that uses thes3-endpoint-override
parameter to send backed up data to MinIO instead of Amazon S3. You can define multiple storage types that can later be used in multiple backup policies.- In
backup-policies
, a new policy calledkeepFilesPolicy
is defined with simple instructions to run in a single thread and keep all previous backups. A policy is a set of instructions defining how to do a specific type of backup. You can define multiple policies that can be used in various backup routines.noteBackup policies are defined in the configuration file. In contrast, restore policies are not defined beforehand; they are sent in the body of each restore request.
backup-routines
specifies a routine calledminioKeepFilesRoutine
that runs thekeepFilesPolicy
policy daily for full backups and hourly for incremental backups. Routines specify the source cluster to back up data from, a storage type as defined under thestorage
section, and a namespace from the source cluster to back up. You can define multiple routines that can be run according to different schedules or on demand.
aerospike-clusters:
absCluster1:
seed-nodes:
- host-name: "aerospike-cluster"
port: 3000
credentials:
user: admin
password: admin
storage:
s3-storage:
bucket: my-backup-bucket
path: backups
s3-profile: default
s3-region: eu-central-1
s3-endpoint-override: http://minio:9000
backup-policies:
keepFilesPolicy:
# Run backup operations in a single thread.
parallel: 1
# Previous full backups are not deleted when a new one is created.
remove-files: KeepAll
backup-routines:
minioKeepFilesRoutine:
# 24 hours interval for full backups.
interval-cron: "@daily"
# 1 hour interval for incremental backups.
incr-interval-cron: "@hourly"
source-cluster: absCluster1
storage: minioStorage
namespace: test
backup-policy: keepFilesPolicy
Linux configuration
Default Linux ABS Configuration:
The default configuration file supplied with Linux distributions is smaller and simpler than the configuration in the Docker Compose setup.
By default, it sets up a connection to a namespace called "test"
in an Aerospike database accessible at 127.0.0.1:3000
.
It stores backup files locally at /var/lib/aerospike-backup-service
.
aerospike-clusters:
cluster1:
use-services-alternate: false
seed-nodes:
- host-name: "127.0.0.1"
port: 3000
credentials:
user: "admin"
password: "admin"
storage:
s3-storage:
bucket: my-backup-bucket
path: backups
s3-profile: default
s3-region: eu-central-1
s3-endpoint-override: http://minio:9000
backup-policies:
policy1:
type: 1
parallel: 1
backup-routines:
routine1:
interval-cron: "@weekly"
incr-interval-cron: "@daily"
backup-policy: "policy1"
source-cluster: "cluster1"
storage: "local1"
namespace: "test"
Configuration options
Search here for individual configuration options. Expand the cards to see more details and/or usage examples.