LMT is a proxy service that extends the File Transfer Service in order to enable local data transfers on the WLCG infrastructure.
On one end, LMT connects to clients using WebFTS via a Websocket connection, on the other, it listens to incoming connections from FTS. When FTS is ready to begin the transfer, it start forwarding the data from the client accordingly.
In order to ensure reproducible builds, all of the packages that LMT depends on have been included in a /vendor directory. To build the project:
go build -o lmt .
Usage of ./lmt:
-cert string
path to the server's certificate in PEM format (default "/etc/grid-security/hostcert.pem")
-key string
path to the server's private key in PEM format (default "/etc/grid-security/hostkey.pem")
-port string
port to listen on (default "8080")
Example:
./lmt -port=8080
-
Build the Docker image:
docker build -t lmt .
-
Run it:
docker run -it lmt
A development environment has been set up using Vagrant. It contains all the dependencies and configuration files necessary to work on the development of the project.
If you have Vagrant installed, just hit vagrant up
from within the project directory and everything is installed and configured for you to work.