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
-
Download the package for your distribution from GitHub Releases. You can also build from source. See the GitHub README.
-
Install the package.
Terminal window dpkg -i aerospike-backup-service_3.7.0_amd64.debTerminal window rpm -i aerospike-backup-service-3.7.0-1.x86_64.rpm -
Confirm the systemd unit is running.
Terminal window systemctl status aerospike-backup-serviceYou should see
Active: active (running). The process loads/etc/aerospike-backup-service/aerospike-backup-service.ymlby 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:
aerospike-backup-service -c /path/to/aerospike-backup-service.ymlUse -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-1aerospike-backup-service -c remote_config.yaml -rWithout -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.
| Path | Purpose |
|---|---|
/etc/aerospike-backup-service/aerospike-backup-service.yml | Configuration file, mode 0600, owned by the service account |
/var/lib/aerospike-backup-service | Writable 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.log | Log 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
| Action | Command |
|---|---|
| Restart | systemctl restart aerospike-backup-service |
| Logs | journalctl -u aerospike-backup-service -n 100 --no-pager -f |
| Stop | systemctl stop aerospike-backup-service |
| Remove package (keep configuration) | dpkg -r aerospike-backup-service |
| Remove package and configuration | dpkg -P aerospike-backup-service |
| Action | Command |
|---|---|
| Restart | systemctl restart aerospike-backup-service |
| Logs | journalctl -u aerospike-backup-service -n 100 --no-pager -f |
| Stop | systemctl stop aerospike-backup-service |
| Remove package | rpm -e 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).
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.0curl -s http://localhost:8080/healthA 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.
-
Add the Aerospike Helm repository.
Terminal window helm repo add aerospike https://aerospike.github.io/helm-chartshelm repo update -
Create a values file.
backupServiceConfigis the ABS YAML (clusters, storage, policies, routines, and optionalservice).abs-values.yaml image:repository: aerospike/aerospike-backup-servicetag: "3.7.0"backupServiceConfig:aerospike-clusters:prod:seed-nodes:- host-name: aerospike.aerospike.svcport: 3000credentials:user: backup-userpassword-path: /var/run/secrets/as-passwordstorage:s3-backups:s3-storage:bucket: company-as-backupspath: prods3-region: us-east-1backup-policies:daily:parallel: 8retention:full: 14incremental: 7backup-routines:app-daily:backup-policy: dailysource-cluster: prodstorage: s3-backupsinterval-cron: "@daily"incr-interval-cron: "@hourly"namespaces:- appMount 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 (
runAsNonRootUID 65532,readOnlyRootFilesystem, drop ALL capabilities,automountServiceAccountToken: false) and mounts/tmpasemptyDir. Local disk storage or a log file on disk needs a writable volume:backupServiceConfig:storage:local:local-storage:path: /backupvolumes:- name: local-storageemptyDir: {}extraVolumeMounts:- name: local-storagemountPath: /backupreadOnly: false -
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.