Storage Overview
abcdesktop supports several storage strategies to manage user home directories and shared data. Each option addresses different infrastructure requirements and persistence needs.
Home Directory Storage
No Persistence (default)
By default, user home directories are ephemeral and live only for the duration of the pod. No configuration is required.
hostPath
Maps a user's home directory to a local directory on the Kubernetes node.
- Simple to set up, no external dependencies
- Requires the user to always land on the same node
- See hostPath
NFS (PersistentVolumeClaim)
Binds user home directories to a NFS server through Kubernetes PersistentVolumes and PersistentVolumeClaims.
- Fully persistent across pod restarts and node changes
- Requires a NFS server and the
nfs-subdir-external-provisionerHelm chart - See NFS
I/O Optimization
Memory-backed directories (cache)
Specific user subdirectories (e.g. .cache, .local, .config) can be overwritten with emptyDir volumes backed by memory to reduce I/O pressure on the storage backend.
- Configurable via
desktop.directorytomemoryemptydiranddesktop.directorytomemory - Data is lost when the pod is deleted
- See Cache
Shared Volumes
Users belonging to the same group can share a common volume mounted inside their pods. Two backends are supported:
| Backend | Use case |
|---|---|
hostPath |
Shared directory on a worker node, no external setup |
pvc |
Shared NFS-backed PVC, accessible from any node |
Access is controlled through desktop.policies rules tied to LDAP group membership.
- See Shared Volumes