为 Code Runner 新增 Go 和 Rust 两种编译型语言,沿用现有 base 镜像分层结构。 Go: - run_cmd 直接用 go run(单条命令,内部编译+运行) - 镜像把 GOCACHE/GOTMPDIR/GOPATH 重定向到 /tmp tmpfs (只读根文件系统下 /Users/issuser/.cache 不可写) - default_limits: 1 核 / 256MB / 10s(编译冷启动比解释型慢) Rust: - rustc 编译 + 运行是两步,但 docker.rs 注入脚本用 exec 执行 run_cmd, exec 替换 shell 进程后 'A && B' 后半段不执行, 因此镜像内置 /usr/local/bin/run-rust.sh wrapper 封装两步 - default_limits: 1 核 / 512MB / 15s(rustc 内存大、编译慢) 新增镜像与白名单后,默认 CODE_RUNNER_LANGUAGES=python,node,go,rust。
16 lines
532 B
TOML
16 lines
532 B
TOML
# Go runner 镜像的运行时默认值(参考用)。
|
||
# 实际生效配置由 Rust 侧 LANGUAGES 注册表 + CODE_RUNNER_* 环境变量决定(见
|
||
# src/api/code_runner/languages.rs、src/infra/runner_config.rs),本文件仅作为
|
||
# 镜像构建产物的自描述,便于运维核对镜像与代码的契约一致。
|
||
language = "go"
|
||
extension = "go"
|
||
run_command = "go run /code/main.go"
|
||
allow_network = false
|
||
|
||
[default_limits]
|
||
cpu_cores = 1.0
|
||
memory_mb = 256
|
||
timeout_secs = 10
|
||
output_bytes = 1048576
|
||
allow_network = false
|