In VESSL, /rootis the only persistent directory. Other directories reset eveytime you restart a workspace. If you need libraries or packages that should be installed outside /root, fill the Init script with the install commands. You can also build your own docker image on top of VESSL managed docker images.VESSL provides disk persistency in two ways:
For cloud providers (managed cluster and custom cluster provided by AWS or GCP), VESSL uses storage provisioners like aws-efs-csi-driver. It automatically attaches Amazon Elastic Block Store (EBS) volumes to container when started, and stored persistently until the workspace is terminated.
For on-premises cluster, VESSL use storage provisioners like local-path-provisioner. It stores data on the host machine assigned to when the workspace is created. (So it fixes to one machine due to storage persistency).
VESSL does online backup/restore to resolve this issue. VESSL automatically backup and upload all contents in /root when the workspace is stopped. All contents will be downloaded and restored when the workspace is resumed.
If /root/ is larger than 15GB, VESSL does not online backup/restore, so it fixes to one machine.
For enterprise plan, Organization admin can specify the detail rules of online backup, such as the backup location.
VESSL workspaces are docker containers running on Kubernetes. The Docker daemon inside a docker container is not supported unless specifically privileged. VESSL does not support privileged containers for security reasons.