I have currently deploy a jupyterhub on a cluster kubernetes with the kubespawner in order to create a pod for each users. The spawner works great.
I would add persistence for users notebook with dynamic provisionning (kubernetes persistent volume / persistant volume claim) in each pods using an s3 Bucket in order to use the quota limitations of the kubespawner.
So i am looking for a kubernetes object storage plugin to do this, anyone have setup the same things ?
To make this generic, I would pass the S3 credentials via environment variables and store them in Kubernetes secrets. Ideally you create a separate bucket and permissions for each user.
The backup and restore script can easily added to the singleuser image by mounting it from a ConfigMap into the pod.