63a42e69497e2bd2b1b60e6a6102d70cf92fa6f3

Error: Workflows triggered by Dependabot on the "push" event run with read-only access. Uploading Code Scanning results requires write access. To use Code Scanning with Dependabot, please ensure you are using the "pull_request" event for this workflow and avoid triggering on the "push" event for Dependabot branches. See https://docs.github.com/en/code-security/secure-coding/configuring-code-scanning#scanning-on-push for more information on how to configure these events.
Poseidon
Poseidon provides containerized execution of arbitrary user code inside a Docker container for learning purposes. It has two main purposes:
- Securing the executions so that they are isolated from each other and from the host system.
- Being scalable enough to provide hundreds of executions per minute.
Poseidon also offers a live I/O connection to the running program via WebSocket.
Poseidon is designed to be used with CodeOcean, a code-execution provider and auto-grader used in MOOC platforms.
Poseidon requires a Nomad cluster for scheduling its executions, which needs to be set up separately.
Documentation
For the OpenAPI 3.0 definition of the API Poseidon provides, see the swagger.yaml.
For the rest of the documentation see the docs folder. It describes...
- some aspects of the development workflow including setup guide. You should read this first when starting out with the project.
- configuration of the system.
- security configurations (how to active access control and TLS with Poseidon).
- how Poseidon integrates Nomad in its architecture.
Languages
Go
96.3%
Makefile
2.8%
HCL
0.7%
Dockerfile
0.2%