The relay server that listens to requests from a relay client and forwards them to the runner
for testing and submission of code on the student's VLab instance.
client
s can connect to the server via a gRPC (or grpc-web) connection. The RPC service methods are defined in the protocol definitions.
runner
s connect and remain connected to the server via websockets.
It is your responsibility to ensure that you have the valid certificates set up when hosting this server, preferably behind some sort of proxy as there is no certificate configuration available for the gRPC server.
This project has pre-built containers available for the server. You can see all of them here, or you can pull the latest one with:
docker pull ghcr.io/lhjt/vlab-relay-server:latest
Var | Usage | Default |
---|---|---|
RUST_LOG |
The level of logs to log to the console. | INFO |
MONGODB_URI |
The URI of the MongoDB instance to connect to. | `` |
ADMIN_TOKEN |
The token required to make admin modifications to the server. | `` |
Port | Usage |
---|---|
50051 |
gRPC server |
50052 |
Websocket server |