This application provides a WebDAV that supports multi-tenancy. It is based on StoRM-WebDAV. We have added a manager level that accepts requests, authenticates the user, identifies the local username of the user, starts a StoRM-WebDAV server for that local user with a randomly assigned port to listen on, and forwards the user's request to that port. The StoRM-WebDAV server will then handle the request in the usual way. If the StoRM-WebDAV server is inactive for 10 minutes, it will be shut down by the manager. If another request comes in for a different user, the manager will start another StoRM-WebDAV server for that user in the same way.
Teapot needs Python3
to run, the specific distribution depends on the operating system.
The required Python packages for installing Teapot are listed in the requirements.txt
file. Python packages that aren't available in the rpm format are already included in Teapot's rpm file.
To automatically generate self-signed certificate openssl>3
is needed. Storm-webdav needs java-11
.
Teapot can be installed via an RPM package. On the release page, we provide RPMs for Fedora 39, AlmaLinux 9.4, and Rocky Linux 9.3. If you need an RPM file for another Linux distribution, feel free to contact us and we’ll gladly provide you with one for your specific Linux distribution.
To install teapot, first a user teapot
must be created. To do that run sudo adduser teapot
.
Please refer to CONFIGURATION.md for information on how to configure Teapot and Storm-Webdav.
Teapot is automatically started with a systemd unit file upon installation. After it has been properly
configured you can restart the service with sudo systemctl restart teapot.service
.
Functional tests can be found in /robot
. To execute them, run robot teapot-tests.robot
.
The current version of Teapot is 0.7.0.
Paul Millar, Dijana Vrbanec, Tim Wetzel
Teapot is a WebDAV solution that supports multi-tenancy. It is based on StoRM-WebDAV.