User file server configuration#

A user file server is a WebDAV server created on demand for a specific user to provide remote access to POSIX file systems. The intent is to provide the same paths that are available inside the user’s lab via WebDAV, which allows users to mount the file system on their local machine and more easily copy files back and forth from their lab environment.

Enable file servers#

File servers are disabled by default and must be explicitly enabled.


Set to true to allow users to create file servers. The default is false.

Mounted volumes#


A list of volumes to expose to the user over WebDAV. The volumes must correspond to volumes specified in controller.config.lab.volumes. The syntax of each entry is identical to the syntax of controller.config.lab.volumeMounts (see Mounted volumes).

None of the volumes mounted in the main lab container are mounted in user file servers by default. To expose those mounts via WebDAV, they must be listed explicitly here. The containerPath setting is the relative path at which the volume will appear in WebDAV.

These mounts are independent of the main container mounts and thus can have different paths, sub-paths, and so forth, and can reference volumes not mounted in the main container.


The following settings configure which Docker image to use as a WebDAV file server. The Nublado controller uses a specific set of environment variables to configure the WebDAV file server that are only supported by worblehat, so the only reason to change these settings is when testing a new unreleased version.


Docker repository from which to get the WebDAV file server image. The default is the Docker repository for worblehat.


Pull policy for the file server image. The default is IfNotPresent. Change to Always if you are iterating on new file server versions with the same tag, such as a Jira ticket branch.


Tag for the file server image. The default is the latest stable release.



Name of the Argo CD application with which to tag user file server resources. This tagging causes all of the user file server resources to show up in Argo CD, which has been convenient for deleting broken file servers or viewing pod logs. The default is nublado-fileservers and should not normally be changed, since Phalanx sets up an application by that name for this purpose.


Kubernetes namespace in which to create user file servers. The default is fileservers and should not normally be changed, since Phalanx sets up a namespace for this purpose. If file servers are enabled, this namespace must exist when the Nublado controller starts; it will not create it.


Resource limits and requests for user file server pods. The defaults are chosen based on observed metrics from Google Kubernetes Engine.

None of the following are set by default. They can be used to add additional Kubernetes configuration to all lab pods if, for example, you want them to run on specific nodes or tag them with annotations that have some external meaning for your environment.


Affinity rules for user file server pods.


Extra annotations to add to all file server pods.


Node selector rules for user file server pods.


Toleration rules for user file server pods.



How long in seconds to wait for Kubernetes to start the file server. The default is 120 (two minutes).


How long in seconds to wait for Kubernetes to delete a file server. The default is 60 (one minute).


After this length of time in seconds, the file server exits and is automatically cleaned up to save cluster resources. If the user needs to use the file server again, they will need to restart it by going to the /files URL (or other URL set by controller.config.fileserver.pathPrefix). The default is 3600 (one hour).

Path prefix#


The path prefix to use for the user file server routes. The default is /files. You probably do not want to change this unless you are trying to run multiple instances of Nublado in the same Phalanx environment for some reason.