Container Orchestrator/Job Runner replacement for Autolab Tango
To test out the dev build, ensure docker is installed on your system
You will need to run 2 services
-
The core leviathan service
docker run --rm --network=host -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/makeopensource/leviathan:dev
-
Kraken, a simple node server with a frontend, that talks to leviathan, intended to mimic real usage
docker run --rm --network=host ghcr.io/makeopensource/leviathan/kraken:dev
-
Access the frontend at, http://localhost:3000
You will need to fill out
- Timeout: timeout for the job
- Grader: a grader file
- Makefile: a makefile (or any file really), it is intended as the entrypoint script to the grading job
- Entry command: this is what starts the grading job, you may call your script above or call something directly
- Eg python grade.py student.py
- Student submission
- Image tag: for your dockerfile
- Dockerfile: Your grading dockerfile
- You must ensure you have this line your dockerfile, as this is where all files will be placed
WORKDIR /home/
- Leviathan will capture the stdout of the container, and attempt to parse the last line of the stdout
- It expects a json string as the last line, the contents can be anything as long as it is valid json
- If it is unable to parse the json, it will fail the job
You can see the test files here
Note
Before submitting Rename student_*.py files to student.py, since the grader expects student.py as the filename