Skip to content

cern-fts/lmt

Repository files navigation

Last Mile Transfer

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.

Deployment

Build from sources

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

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

Run it inside Docker

  1. Build the Docker image:

    docker build -t lmt .
  2. Run it:

    docker run -it lmt

Development

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.