Add docker execution environment

This commit is contained in:
Stone_Red
2025-12-27 00:08:01 +01:00
parent 252aca98b4
commit bf1b5506c0
31 changed files with 848 additions and 25 deletions
+46 -1
View File
@@ -31,7 +31,52 @@
// Timeout in seconds for loading assemblies from clients
// If a client doesn't respond with assembly bytes within this time, the request fails
// Default: 30 seconds
"AssemblyLoadTimeoutSeconds": 30
"AssemblyLoadTimeoutSeconds": 30,
// Type of execution environment to use
// Options: "AssemblyLoadContext", "DockerContainer"
// - AssemblyLoadContext: Lighter weight, per-connection assembly isolation
// - DockerContainer: Maximum isolation, ephemeral containers per task
// Default: "AssemblyLoadContext"
"ExecutionEnvironment": "AssemblyLoadContext"
},
// Docker execution configuration (only used when ExecutionEnvironment = "DockerContainer")
"DockerExecution": {
// Docker host URL
// Linux: "unix:///var/run/docker.sock"
// Windows: "npipe://./pipe/docker_engine"
"DockerHost": "unix:///var/run/docker.sock",
// Docker worker image name to use for task execution
// Must be built and available on the Docker host
// Default: "remoteexec-worker:latest"
"WorkerImageName": "remoteexec-worker:latest",
// Maximum execution time per container in seconds
// Containers exceeding this time will be forcefully terminated
// Default: 300 (5 minutes)
"ContainerTimeoutSeconds": 300,
// Memory limit per container in MB
// Prevents containers from consuming excessive memory
// Default: 512 MB
"ContainerMemoryLimitMb": 512,
// CPU shares allocated to each container (relative weight)
// Higher values = more CPU priority
// Default: 1024
"ContainerCpuShares": 1024,
// Disable network access in containers for security
// Set to false if tasks require network connectivity
// Default: true
"DisableNetwork": true,
// Make container filesystem read-only
// Enhances security by preventing file modifications
// Default: true
"ReadOnlyFilesystem": true
},
// Server metrics broadcasting configuration