Customer generated backups

Our cloud offering has multiple independent backups (ZFS snapshots, mariadb backup streams and mysqldump style backups) with some of these stored offsite.

However there is no easy way for customers to get a copy of that backup without manual intervention from ish technical support. This is time consuming and not automated.

We need a way to allow customers to generate and store encrypted backups of the database for their own verification and disaster recovery.

Current thoughts are a Jira-style backup of a large XML export (completely in-app but lots of work). Or dumping the database as SQL, compressing/encrypting it and uploading it to some sort of cloud storage. The latter is less effort, but needs to happen outside the onCourse app.