Files
raven/devdocs/specs/core-backup-and-restore.txt
2018-06-28 23:41:48 +00:00

54 lines
1.6 KiB
Plaintext

BACKUP AND RESTORE SPECS
CASES
REQUIREMENTS
BACKUP
- Backup to independent text format using JSON text files like DB DUMP and Discourse does
- Backup all attached files (encrypt?)
- Encrypt the backup file archive or each file (need to determine) so that the backup file can't be read independent of RAVEN
- Encryption key needs to be user selectable because we don't want any AyaNova user to be able to restore any other AyaNova users db
- Optionally automatically send the backups to online destinations such as
- AWS web storage
- Dropbox
- Mailbox if under certain size
- Look into whatever apis are available for other online storage services
- Download backups
- Backup during closed window where server is not available for anything but read only operations during backup window
- User configurable backup time
- User configurable encryption key in environment variable? If not set then not encrypted??
RESTORE
- Automatically closes api before RESTORE
- Restore from backup locations can save to?
- Or at least a method to fetch and list those backups to fetch to local?
- Upload a backup file for restoration
- Decrypts data during restore process
- Must use user provided key and there should be some kind of marker file or something to verify it decrypted properly and is a valid AyaNova backup
- Restore the attached files (decrypt?)
- Uses user configurable encryption key
ROLES
- Ops ful, biz full can
- modify backup configuration
- Restore
- Backup
- OpsLImited and biz limited can
- view the backup and restore configuration
- Backup