Files
Infinity_Vis_Rust/docs/local_software_only_runbook.md

51 lines
1.8 KiB
Markdown

# Local Software-Only Runbook
## Voraussetzungen
- Rust `stable` Toolchain mit `cargo`, `rustc`, `rustfmt` und `clippy`
- dieses Repo ist lokal aktuell **kein echter Git-Clone**, sondern nur ein Arbeitsbaum ohne `.git`
- keine Hardware ist fuer den software-only Betrieb noetig
Beispiel fuer eine user-lokale Rust-Installation:
```bash
curl -sSf https://sh.rustup.rs -o /tmp/rustup-init.sh
sh /tmp/rustup-init.sh -y --profile minimal --default-toolchain stable
. "$HOME/.cargo/env"
rustup component add rustfmt clippy
```
## Start
```bash
. "$HOME/.cargo/env"
cargo run -p infinity_host_api -- --config config/project.example.toml --bind 127.0.0.1:9001 --runtime-state data/runtime_state.json
```
## Lokale URLs
- Creative Web-UI: `http://127.0.0.1:9001/`
- State API: `http://127.0.0.1:9001/api/v1/state`
- Preview API: `http://127.0.0.1:9001/api/v1/preview`
- Snapshot API: `http://127.0.0.1:9001/api/v1/snapshot`
- WebSocket-Stream: `ws://127.0.0.1:9001/api/v1/stream`
## Minimale Smoke-Checks
1. Web-UI laedt unter `http://127.0.0.1:9001/`.
2. `GET /api/v1/state` antwortet mit `api_version: "v1"`.
3. `ws://127.0.0.1:9001/api/v1/stream` verbindet und liefert zuerst `snapshot`, dann `preview`.
4. In der Web-UI oder ueber `POST /api/v1/command` funktionieren diese Basisfluesse:
- preset recall
- preset save / overwrite
- creative snapshot save / recall
- blackout
## Runtime-State und Recovery
- Runtime-Persistenz liegt standardmaessig unter `data/runtime_state.json`.
- Beim Schreiben werden aktiver Scene-State, Runtime-Presets, Runtime-Gruppen, Creative Snapshots und globale Steuerwerte persistiert.
- Fehlende Dateien sind okay.
- Leere, defekte oder schema-inkompatible Persistenzdateien blockieren den Serverstart nicht mehr.
- In diesen Recovery-Faellen startet der Host mit Default-State und erzeugt Warning-/Info-Events im Eventfeed statt abzubrechen.