Skip to content

Install Aerospike Backup Service

For the complete documentation index see: llms.txt

All documentation pages available in markdown.

This page describes how to install Aerospike Backup Service (ABS) on Linux, as a Docker container, or on Kubernetes with Helm.

To run a first backup and restore on a laptop, see Quickstart instead of this page.

Install ABS on Linux

Linux packages are published on the GitHub repository Releases page.

Install and verify

  1. Download the package for your distribution from GitHub Releases. You can also build from source. See the GitHub README.

  2. Install the package.

    Terminal window
    dpkg -i aerospike-backup-service_3.7.0_amd64.deb
  3. Confirm the systemd unit is running.

    Terminal window
    systemctl status aerospike-backup-service

    You should see Active: active (running). The process loads /etc/aerospike-backup-service/aerospike-backup-service.yml by default.

    To change the listen port, enable HTTPS, or configure log files, see HTTP server and logging.

Configuration file and flags

Edit /etc/aerospike-backup-service/aerospike-backup-service.yml, then restart the service. See Configure ABS.

Run the binary yourself with -c for a local file:

Terminal window
aerospike-backup-service -c /path/to/aerospike-backup-service.yml

Use -r when -c points at a pointer file whose contents name the real configuration in object storage:

s3-storage:
bucket: as-backup-bucket
path: config.yml
s3-region: eu-central-1
Terminal window
aerospike-backup-service -c remote_config.yaml -r

Without -r, -c is the configuration file. With -r, -c is the pointer to that file.

Service account and file locations

The Linux packages run ABS as the unprivileged aerospike-backup-service system account under a systemd sandbox. The sandbox makes most of the file system read-only and hides /root and /home.

PathPurpose
/etc/aerospike-backup-service/aerospike-backup-service.ymlConfiguration file, mode 0600, owned by the service account
/var/lib/aerospike-backup-serviceWritable state directory and home directory of the service account. Put local backups and cloud credential files here.
/var/log/aerospike-backup-service/aerospike-backup-service.logLog file
/etc/default/aerospike-backup-service (Debian) or /etc/sysconfig/aerospike-backup-service (RPM)Optional environment file, for example for cloud credentials

TLS certificates, keys, and password-path files must be readable by the service account. To write local backups to another path or to listen on a port below 1024, add a systemd drop-in with systemctl edit aerospike-backup-service. The package installs an example at /usr/share/doc/aerospike-backup-service/local-storage-path.conf.example.

Service management

ActionCommand
Restartsystemctl restart aerospike-backup-service
Logsjournalctl -u aerospike-backup-service -n 100 --no-pager -f
Stopsystemctl stop aerospike-backup-service
Remove package (keep configuration)dpkg -r aerospike-backup-service
Remove package and configurationdpkg -P aerospike-backup-service

Run ABS in Docker

Map host port 8080 to service.http.port. If you enable service.https, also map 8443 (or the HTTPS port you configured).

Terminal window
docker run -d -p 8080:8080 -p 8443:8443 \
-v "$(pwd)/aerospike-backup-service.yml:/etc/aerospike-backup-service/aerospike-backup-service.yml" \
--name backup-service \
aerospike/aerospike-backup-service:3.7.0
Terminal window
curl -s http://localhost:8080/health

A healthy process returns Ok. To change the listen port, context-path, HTTPS, or log files, see service.

For a stack that also starts Aerospike Database and MinIO, see Quickstart.

Install ABS on Kubernetes with AKO

Aerospike Kubernetes Operator (AKO) can install Aerospike Database and ABS together. See Backup and restore with AKO.

Install ABS on Kubernetes with Helm

Use the Helm chart when you are not using AKO.

  1. Add the Aerospike Helm repository.

    Terminal window
    helm repo add aerospike https://aerospike.github.io/helm-charts
    helm repo update
  2. Create a values file. backupServiceConfig is the ABS YAML (clusters, storage, policies, routines, and optional service).

    abs-values.yaml
    image:
    repository: aerospike/aerospike-backup-service
    tag: "3.7.0"
    backupServiceConfig:
    aerospike-clusters:
    prod:
    seed-nodes:
    - host-name: aerospike.aerospike.svc
    port: 3000
    credentials:
    user: backup-user
    password-path: /var/run/secrets/as-password
    storage:
    s3-backups:
    s3-storage:
    bucket: company-as-backups
    path: prod
    s3-region: us-east-1
    backup-policies:
    daily:
    parallel: 8
    retention:
    full: 14
    incremental: 7
    backup-routines:
    app-daily:
    backup-policy: daily
    source-cluster: prod
    storage: s3-backups
    interval-cron: "@daily"
    incr-interval-cron: "@hourly"
    namespaces:
    - app

    Mount TLS material and passwords as Secrets at stable paths. Rewriting the files at those paths reloads HTTPS certificates without a restart. See Secure ABS.

    The chart defaults to a hardened container (runAsNonRoot UID 65532, readOnlyRootFilesystem, drop ALL capabilities, automountServiceAccountToken: false) and mounts /tmp as emptyDir. Local disk storage or a log file on disk needs a writable volume:

    backupServiceConfig:
    storage:
    local:
    local-storage:
    path: /backup
    volumes:
    - name: local-storage
    emptyDir: {}
    extraVolumeMounts:
    - name: local-storage
    mountPath: /backup
    readOnly: false
  3. Install the chart.

    Terminal window
    helm install abs aerospike/aerospike-backup-service \
    --namespace aerospike \
    --create-namespace \
    --values abs-values.yaml

Chart parameters are listed in the Helm chart README.

Next steps