16.3 Backup — concepts
Administration → Backup has three sub-tabs: Configuration, Full backup and Scheduled backups. The last sub-tab you used is remembered.
Configuration export (.adacfg) |
Full backup (.adabk) |
|
|---|---|---|
| Contains | Settings only (sections below) | All configuration sections plus installation identity plus data (below) |
| Purpose | Copy settings to another Ada server, or keep a settings history | Disaster recovery of this installation |
| Target | Same or newer Ada version, any installation | Same or newer Ada version; normally the same installation |
| Restore | Preview, choose sections, password | Preview, type RESTORE, password; server restarts |
| Safety copy before restore | No | Yes (kept 7 days) |
16.3.1 What is in a backup
Every file the server keeps permanently is registered in a backup-coverage registry, and the build fails if a new persistent file is not classified. The classification is:
Configuration sections (in both kinds):
| Section (UI) | Contents |
|---|---|
| Policy | Labels, sub-sensitivities, rules, groups, agent rules, watermark rules, logging, awareness. Licence fields are stripped; on import the policy is re-signed with a new policy version. |
| Setup | Web add-in catalog share, including SMB credentials. |
| Agents | Agents’ group assignments and approvals (matched by agent id). |
| Reports | Scheduled reports (with their scope copies). |
| Alerts | Syslog servers, e-mail (SMTP, including password) and alert triggers/rules. |
| Directory | Active Directory / LDAPS settings, including the bind password. |
| Security | Sign-in policy, sessions, password rules, console IP allow-list, enrolment. |
| Database | Audit retention and offline-agent cleanup settings. |
| Audit Log | Saved views. |
| Overview | Personal widget layouts. |
| Top bar critical counter | Per-user “seen up to” marks — off by default on import (only meaningful on the original server). |
| Console users | Local accounts with password hashes. |
| Backup | Scheduled-backup settings (run times are stripped). |
| Time | Time zone and NTP server. |
Identity (Full backup only): the policy-signing key pair (its public key is pinned in every agent and add-in), the agent enrolment token, the Microsoft 365 add-in key, the licence (licence file, install id, EULA acceptance), the admin-console (9443) and client (443) TLS certificates and keys, and the scheduled-backup key.
Data (Full backup only): the database (audit log with its hash chain, agent inventory with enrolled identities and revocations, command queue, panel tokens, cached AD groups, server-held label registry, pending-file inventories) as a PostgreSQL dump, the chain anchor, the audit-verification findings log, and the AI document types (index, encrypted examples, trained layer).
Never in a console backup:
- The internal root CA. Its private key is readable
only by root on the host; back it up with
sudo adactl ca backup(section 16.6.1). - Runtime state that is rebuilt automatically: health and journal state, the System log ring, agent diagnostics zips, password-reset links, the generated first-boot password, the licence clock high-water mark, scheduled backup files themselves.
16.3.2 Encryption and passwords
- Downloads are encrypted with a passphrase you choose: scrypt key derivation and AES-256-GCM. Minimum 8 characters; it must be typed twice. Without the passphrase nobody (including the vendor) can open the file.
- Every export, import and restore also asks for your console password (the files contain secrets and private keys).
- Scheduled backups are encrypted with the server’s backup key (section 16.5.2).
- Uploaded backup files may be up to 1 GB.
16.3.3 Version and origin rules
- A backup can be imported/restored into the same or a newer Ada version; database migrations are applied afterwards. A backup from a newer version is refused — upgrade the server first. The preview shows both versions.
- Every backup (1.3.2 and later) records the installation
id it came from. A file from another installation is refused
until you tick Import anyway (from another
installation); the action is then logged as
backup_foreign_import. Older backups without an id are accepted with a note.