Skip to content

Repository files navigation

goboxd

goboxd is an HTTP service that runs untrusted code submissions inside Linux namespace sandboxes and returns the result against supplied test cases.

How to run

Requires Docker with Compose v2. No Go toolchain needed on the host.

make build        # build the container image
make run          # start the service on :8080
make test         # run unit and handler tests
make integration  # run end-to-end tests against a live container
make lint         # run golangci-lint
make load         # load-test placeholder (see docs/benchmarks.md)

After make run, check that the service is ready:

curl http://localhost:8080/healthz
curl http://localhost:8080/readyz

Framework

The HTTP layer uses Go's net/http standard library directly, without a third-party router or framework. A handful of routes and method-path patterns do not require a framework, and keeping the dependency list short reduces the audit surface for a service that executes untrusted code.

Documentation

  • docs/api.md — endpoint reference and request/response shapes
  • docs/languages.md — how to add a language (YAML, Dockerfile, smoke test)
  • docs/security.md — mitigations applied, each with a file:line reference
  • docs/architecture.md — component diagram and request flow
  • docs/benchmarks.md — how to run load tests; results placeholder
  • docs/ai/ — AI usage log, architecture decisions, and patterns

License

Distributed under the GNU General Public License v3.0. See LICENSE for the full text.

About

Repo created for GoBoxD hackathon

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages