codecanvas
codecanvas copied to clipboard
Remote code executor server, frontend, and CLI to run untrusted code as a non-root user in a Docker container.
Ideas on more languages to add: - [x] Go (very easy, we already have Go installed in the image) - [ ] C (should be relatively easy, image already requires...
Stringify the errors from the backend to prevent the `[object Object]` https://github.com/camerondurham/runner/blob/016c7b907c718c5231d6cc0478eabf2af14f65f6/web-frontend/js/run-request.js#L43  #### Tasks - [ ] stringify errors - [ ]...
## Details Create unit tests to verify CLI functionality for command handlers. If possible, add integration tests to test against CLI binary. ### Motivation The purpose of doing this is...
Some basic server unit tests exist here already: https://github.com/camerondurham/runner/blob/main/server/main_test.go We don't need all of the tests below and can have different/more tests. This is just some basic test ideas to...
Look into using [containerd/containerd](https://github.com/containerd/containerd) as a container runtime to run processes or using [containerd/cgroups](https://github.com/containerd/cgroups) to enforce limits instead of Linux syscall setrlimit : https://github.com/camerondurham/runner/blob/9cc6b646cb85552122482783d44008383ea14966/engine/runtime/limits.go#L33 An example of using cgroups instead...
Create a tool to generate and run synthetic load on the coderunner server. This is needed to test server performance and identify any scaling issues and determine how the application...
It would be nice to have a doc that defines the basics of containers and how to do some basic process isolation in Linux. This should eventually become a detailed...
Use (any) framework for frontend. It can be Vue, React, Alpine.js, whichever is up to whomever works on this can decide. Would be nice if we could use Typescript ([Vue](https://vuejs.org/guide/typescript/overview.html),...
Create end-to-end integration tests for limiting behavior. Should create runner struct and send code that will test the num procs limit, timeout limit and other limits as needed. Requirements: 1....
This issue is to improve the resource limiting API by removing the `process` helper CLI or using another library to limit host resources. An "external" process may not be needed...