Files
2026-08-29 17:02:35 +02:00

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.