-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvements for safe-docker #354
base: master
Are you sure you want to change the base?
Improvements for safe-docker #354
Conversation
This adds a modified version of the safe-docker script that allows for more flexibility. The new options are propagated to the settings. safe-docker can now also launch a checker container if Praktomat itself is running in a Docker container.
This allows mounting an additional directory into a checker container when using safe-docker.
I added a setting called See 8db8301 |
This allows a checker container to access the (host's) network.
With e19b211, I also added a setting to allow accessing the network inside of a checker container. When using a tool like Stack (Haskell) for running a student's submission, such a setting may be required. |
please add "removing the following lines" from README.md to the change set of this PR:
|
Done with 9dcfa7f |
This adds a few improvements for executing checks using safe-docker:
PATH
(seeSAFE_DOCKER_PATH
).DOCKER_IMAGE_NAME
). This was previously disabled in the safe-docker script for security reasons. But as far as I know, submissions shouldn't be able to change this parameter. I think the flexibility is worth it when running multiple Praktomat instances on one machine or Docker host.DOCKER_CONTAINER_WRITABLE
. This is useful, for example, when the container contains some Gradle projects that contain unit tests. If you check the student's submissions against such tests, Gradle attempts to write to the project directory.DOCKER_UID_MOD
.I added the safe-docker script to this repository as the original script is not maintained anymore (see nomeata/safe-docker#3). Therefore, it's probably better if we maintain our own version of this script.
By the way, this is pretty much my first time working with Perl. If you spot any kind of weird code in the safe-docker script, feel free to let me know ;)
The tests don't pass because I didn't merge #348 into this branch.