Skip to main content
Loading

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 cluster absCluster1. 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 called minioStorage that uses the s3-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 called keepFilesPolicy 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.
    note

    Backup 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 called minioKeepFilesRoutine that runs the keepFilesPolicy 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 the storage 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.