
In the context of #358 we identified that the event with the type `AllocationUpdated` and the client status `pending` is common but not always send by Nomad. With this Commit we remove the condition that limits the evaluated Nomad events to the event with the type `AllocationUpdated`. Without the condition the event of the type `PlanResult` and the status `pending` will be evaluated equally. By now, this event seems to be sent every time. This restriction led to started allocation not being registered when the `AllocationUpdated` event with client status `pending` was missing.
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.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/openHPI/poseidon. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
Poseidon is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in this project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.