Description
Proposed change
Some recommended way or form of backing up and restoring user data in a Kubernetes-volume-friendly manner to a certain point in time.
It would be nice if there was some recommended form of backing up and restoring user volumes to for instance an Amazon S3 bucket or other form of off-site storage.
Since users are added and removed from the Hub over time, it makes sense to support this feature from the Hub and not have to select each (dynamically created) volume in your cloud provider's settings manually to turn on periodic backups.
My initial thoughts would be that it's best to leave the user-PVC-PV bookkeeping to the Hub, since that may become unwieldy for larger numbers of users very fast. Perhaps a Kubernetes Job to run these backups periodically and a similar one-time thing for restoring backups.
Alternative options
Currently, backing up user data is either up to the user themselves or to the sysadmins running ztjh (or any JupyterHub deployment).
Some cloud providers have a periodic backup option on their volumes, but they may require you selecting each volume and turning on the backups manually, which is quite the hassle.
Who would use this feature?
End-users and a form of peace of mind for sysadmins.