Hosty i Maszyny
Zarządzanie infrastrukturą wykonawczą: lokalne stacje robocze, zdalne serwery VPS oraz dedykowane maszyny z GPU (np. pc-nvidia) ze zintegrowanym podglądem sesji noVNC.
1. Diagramy Procesów i Architektury
A. Topologia nawigacji i wywołań akcji
flowchart TD
subgraph S["Kontekst: WORK"]
V["Widok: Hosty i Maszyny
Automatyczne uzupełnienie adresu hosta na podstawie wykrytego węzła"] A_1["twin.open
Otwarcie interaktywnego pulpitu noVNC i kontrolera Prepanel"] A_2["twin.heal
Autonomiczna naprawa geometrii okien EWMH i sesji X11"] end V --> A_0 V --> A_1 V --> A_2
?view=hosts"]
end
subgraph Actions["Dostępne akcje i procedury CQRS"]
A_0["address.setAutomatyczne uzupełnienie adresu hosta na podstawie wykrytego węzła"] A_1["twin.open
Otwarcie interaktywnego pulpitu noVNC i kontrolera Prepanel"] A_2["twin.heal
Autonomiczna naprawa geometrii okien EWMH i sesji X11"] end V --> A_0 V --> A_1 V --> A_2
B. Maszyna stanów i cykl życia operacji
stateDiagram-v2
[*] --> Idle : Wejście do widoku Hosty i Maszyny
Idle --> FormOrFilter : Interakcja z kontrolkami
FormOrFilter --> CQRSCommand : Wywołanie akcji
CQRSCommand --> StateUpdated : Aktualizacja stanu i API
StateUpdated --> Idle : Odświeżenie widoku
C. Sekwencja wykonania CQRS
sequenceDiagram
autonumber
actor U as Użytkownik / Agent
participant UI as Interfejs (Hosty i Maszyny)
participant CQRS as Dyspozytor CQRS
participant API as Backend API (:8891)
participant DB as Baza / Runtime
U->>UI: Kliknięcie / Wywołanie akcji [address.set]
UI->>CQRS: dispatch('address.set', data)
CQRS->>API: Żądanie HTTP REST / RPC
API->>DB: Mutacja / Odczyt stanu
DB-->>API: Potwierdzenie zapisu
API-->>CQRS: Wynik operacji + ślad zdarzenia
CQRS-->>UI: Aktualizacja stanu (state)
UI-->>U: Re-render widoku i powiadomienie (toast)
2. Zarejestrowane Polecenia CQRS
| Akcja UI | Procedura URI | URN w kodzie | Opis |
|---|---|---|---|
address.set | proc://clonerd.dev/cmd/address/set/v1 | urn:clonerd:code:js:actions:hosts#setAddress | Automatyczne uzupełnienie adresu hosta na podstawie wykrytego węzła |
twin.open | proc://clonerd.dev/cmd/twin/open/v1 | urn:clonerd:code:js:actions:platform#openTwin | Otwarcie interaktywnego pulpitu noVNC i kontrolera Prepanel |
twin.heal | proc://clonerd.dev/cmd/twin/heal/v1 | urn:clonerd:code:js:actions:platform#healTwin | Autonomiczna naprawa geometrii okien EWMH i sesji X11 |
3. Powiązane Endpointy API
| Metoda | Ścieżka REST | Opis |
|---|---|---|
| GET | /api/hosts/{id}/twin | Status sesji Digital Twin na maszynie |
| POST | /api/hosts/{id}/twin/action | Wywołanie akcji kontrolera maszyny |