Skip to main content

Environments

info

The Dockerfiles of the environments can be found in the environments directory.

Build

The Docker image for the environment in <directory> can be built with the environments/build.sh script:

./build.sh <directory>

The image is then available under eva/environments/<directory>:latest.

Publishing

If the image is to be used in production with a docker image registry, the image must be uploaded to the registry using the demo/publish.sh script. For a docker image registry that is available at docker.eva.local, use:

./publish.sh docker.eva.local <directory>
caution

Depending on the cache configuration of the registry in Eva, it may take some time for the published environment to become visible when querying the available evaluation stacks.

Notes on Maintainability

Scripts and other files used across multiple environments should be organized under environments/shared in the repository. Files specific to an environment should be maintained directly in the environment's directory. Additional guidelines on maintenance can be found in the checklist printed by the build.sh script.

Notes on Security

Given that user-submitted code is blindly executed inside Docker containers, the host system should not use permissive Seccomp security profiles. Restrictive Seccomp profiles help reduce the impact of potentially malicious or unintended behavior in the executed code.