Backup Management

Backup Management

The Backup Management system provides full backup and restore capabilities for the application. It also allows management of the Nago master key, which is used for encrypting sensitive stores (e.g., sessions, secrets).

Functional areas

Backup Management provides the following key functions:

Backup

Creates a complete backup of the application data. Encrypted stores remain encrypted and cannot be restored without the master key. The backup file is downloaded as a ZIP.

⚠️
Ensure that no operations are performed in parallel to maintain a consistent backup.

Restore

Restores the application state from a backup file. All existing data in the restored stores will be overwritten. Only backup files from trusted sources should be used.

⚠️
Encrypted stores require the master key to be restored correctly.

Export Master Key

Allows the export of the Nago master key. This key is required to decrypt encrypted stores in backups (e.g., sessions or secrets).

⚠️
Handle the key securely. If exposed, all encrypted data is considered compromised.

Replace Master Key

Allows replacing the current Nago master key with a new one. All encrypted stores will then require the new key for decryption.

ℹ️
The service must be restarted for the new key to take effect.

Dependencies

Requires:

  • No other systems

Is required by:

  • none

Activation

This system is activated via:

std.Must(cfg.BackupManagement())
backupManagement := std.Must(cfg.BackupManagement())