prole/installer/state.py
chrisfu ec8a4e98af k3s: Fix installation hangs, CA mismatches, and arm64 networking
- Implement proactive CA hash verification and automated repair for mismatches

- Ensure agents prioritize discovered server tokens over stale vault values

- Fix K3s service hangs with explicit stop and killall before reinstall

- Add Retropie/Pi networking fixes (WiFi power save, wlan0 priority)

- Pin pre-staged images to stable, architecture-aware versions (arm64)

- Remove obsolete init-port-forwards and prole.cfg sync tasks

- Update k8s manifests and installer core logic with new tests
2026-02-16 23:30:27 -08:00

24 lines
783 B
Python

"""State model for the UI-agnostic installer core."""
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Any
@dataclass
class InstallerState:
current_id: str | None = None
data: dict[str, Any] = field(default_factory=dict)
inputs: dict[str, Any] = field(default_factory=dict)
config_data: dict[str, Any] = field(default_factory=dict)
errors: list[str] = field(default_factory=list)
progress: dict[str, float] = field(default_factory=dict)
history: list[str] = field(default_factory=list)
completed: set[str] = field(default_factory=set)
# Execution engine / controller
controller: Any = None
def mark_completed(self, milestone_id: str) -> None:
self.completed.add(milestone_id)