28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# JARVIS Runtime Skill Workers
|
|
|
|
Alle Runtime-Container verwenden denselben `cmd/skillworker` Host und unterscheiden sich nur durch die vorinstallierte Toolchain.
|
|
|
|
| Runtime | Dockerfile | typische Entry-Points |
|
|
|---|---|---|
|
|
| Python | `Dockerfile.python` | `python3 main.py` |
|
|
| Node | `Dockerfile.node` | `node index.js` |
|
|
| Go | `Dockerfile.golang` | `go run .` oder `./run` |
|
|
| Rust | `Dockerfile.rust` | `cargo run --release` oder `./run` |
|
|
| C | `Dockerfile.c` | `gcc`, `make`, `./run` |
|
|
| C++ | `Dockerfile.cpp` | `g++`, `cmake`, `./run` |
|
|
| C# | `Dockerfile.csharp` | `dotnet run` oder `./run` |
|
|
|
|
Der Host kopiert jeden Skill aus dem read-only `/skills`-Mount in `/work`, bevor er ausgeführt wird. Damit können Compiler/Buildsysteme Artefakte schreiben, ohne die Skill-Dateien auf dem Host zu verändern.
|
|
|
|
Pflicht-ENV im Worker:
|
|
|
|
```env
|
|
JARVIS_MASTER_URL=http://jarvis:8080
|
|
JARVIS_ENROLLMENT_TOKEN=...
|
|
JARVIS_WORKER_NAME=python-main
|
|
JARVIS_WORKER_RUNTIME=python
|
|
JARVIS_WORKER_PUBLIC_URL=http://skill-python:8090
|
|
```
|
|
|
|
Der Worker stellt ausschließlich die Web-Schnittstellen `/health`, `/v1/skills`, `/v1/invoke` und `/v1/reload` bereit. `/v1/invoke` und `/v1/reload` akzeptieren nur das Session Access Token, das der Master beim Enrollment ausgegeben hat.
|