Files
Jamison Lahman 8d1328c9be feat: rewrite code-interpreter service in Go
Add code-interpreter-go/, a full port of the Python FastAPI service with
the same API surface (/health, /v1/execute, /v1/execute/stream SSE,
/v1/files, /v1/sessions, session bash) and the same env-based
configuration.

Notable changes from the Python implementation:
- Docker backend uses the Docker Engine API (github.com/docker/docker/client)
  instead of shelling out to the docker CLI; PYTHON_EXECUTOR_DOCKER_RUN_ARGS
  now accepts a documented flag subset and fails fast on anything else.
  Workspace staging/snapshot still run tar inside the container since
  /workspace is a tmpfs the engine copy API cannot see.
- entrypoint.sh is absorbed into the binary (mode detection, cgroup v2
  nesting, nested dockerd launch + SDK ping readiness); the image runs the
  binary directly with no shell required at runtime.
- Dockerfile defaults to DHI hardened base images (overridable build args),
  installs the Docker daemon only for DinD builds, and drops curl/gnupg/
  supervisor. SKIP_NESTED_DOCKER=1 builds now support DooD with zero docker
  packages.
- Kubernetes backend on client-go with SPDY exec (no tar|base64 round-trip).
- Fixes a keepalive unit slip (timeout_ms * 1000 seconds -> timeout_ms/1000
  + 10 seconds).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:24:08 +00:00
..