mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 19:34:31 +00:00
- Finalized stable, repeatable reset logic for the k3d pipeline. - Refactored installer into modular components: core, milestone, runner, and state. - Introduced new UI abstractions with support for ncurses and Tkinter. - Updated initialization scripts and configurations for CloudNativePG, Kerberos, OpenBao, and Monitoring. - Improved pipeline repair and port-forwarding mechanisms.
19 lines
596 B
Python
19 lines
596 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)
|
|
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)
|
|
|
|
def mark_completed(self, milestone_id: str) -> None:
|
|
self.completed.add(milestone_id)
|