doc: modular sandbox configs

This commit is contained in:
Anton
2023-12-05 01:03:07 +05:00
parent 50dc6a71d1
commit 99cef70dab

View File

@@ -47,7 +47,7 @@ docker build --file images/python/Dockerfile --tag codapi/python:latest images/p
And register the image as a Codapi _box_ in `configs/boxes.json`: And register the image as a Codapi _box_ in `configs/boxes.json`:
```json ```js
{ {
// ... // ...
"python": { "python": {
@@ -56,22 +56,19 @@ And register the image as a Codapi _box_ in `configs/boxes.json`:
} }
``` ```
Finally, let's configure what happens when the client executes the `run` command in the `python` sandbox. To do this, we edit `configs/commands.json`: Finally, let's configure what happens when the client executes the `run` command in the `python` sandbox. To do this, we create `configs/commands/python.json`:
```json ```js
{ {
// ... "run": {
"python": { "engine": "docker",
"run": { "entry": "main.py",
"engine": "docker", "steps": [
"entry": "main.py", {
"steps": [ "box": "python",
{ "command": ["python", "main.py"]
"box": "python", }
"command": ["python", "main.py"] ]
}
]
}
} }
} }
``` ```
@@ -80,26 +77,23 @@ This is essentially what it says:
> When the client executes the `run` command in the `python` sandbox, save their code to the `main.py` file, then run it in the `python` box (Docker container) using the `python main.py` shell command. > When the client executes the `run` command in the `python` sandbox, save their code to the `main.py` file, then run it in the `python` box (Docker container) using the `python main.py` shell command.
What if we want to add another command (say, `test`) to the same sandbox? Let's edit `configs/commands.json` again: What if we want to add another command (say, `test`) to the same sandbox? Let's edit `configs/commands/python.json` again:
```json ```js
{ {
// ... "run": {
"python": { // ...
"run": { },
// ... "test": {
}, "engine": "docker",
"test": { "entry": "test_main.py",
"engine": "docker", "steps": [
"entry": "test_main.py", {
"steps": [ "box": "python",
{ "command": ["python", "-m", "unittest"],
"box": "python", "noutput": 8192
"command": ["python", "-m", "unittest"], }
"noutput": 8192 ]
}
]
}
} }
} }
``` ```