[ENH] Create admin friendly mechanism to delete NFS data
Feature description
If you're a Nebari administrator, you may need to cleanup or remove data that is on the NFS. For example if a user leaves the organization, their data will still reside on the underlying volume.
Currently, the simplest way to delete data is to shell into a pod that that has root access and has the nfs mounted. Another option is to use the JupyterHub admin "impersonate" feature whereby you can access the user's home directory and delete items as you would a regular user.
Value and/or benefit
Improve user experience.
Anything else?
No response
Theoretically it would be great to run a script that accepted a username and the script goes and deletes the user from keycloak, removes their NFS storage (and maybe their shared files?), and removes their environments from conda-store.
I did some research into this, but was pulled into another project before I could implement. Some thoughts:
Conda store
The best way to delete the Conda-Store data is through the conda-store API. There is data that exists in both Minio and a postgres database. Directly attempting to connect to the database would introduce quite a bit of complexity that is already handled by the API.
NFS data
This can be deleted by creating a kubernetes job that mounts the NFS volume.
Keycloak data
This can be deleted by using the keycloak python API and the root user