Initial commit — bootstrapped from es24n-conf (TrueNAS/Linux edition)

Starting point for Windows packaging. Serial backend will be replaced
with pyserial; PyInstaller used to produce a standalone .exe.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-16 15:44:28 -04:00
commit a6a0f1b246
14 changed files with 2162 additions and 0 deletions

23
modules/models.py Normal file
View File

@@ -0,0 +1,23 @@
"""
models.py — Shared data classes for ES24N IOM configuration.
Used by both the serial and network configuration workflows.
"""
from dataclasses import dataclass, field
@dataclass
class IOMConfig:
iom: str
dhcp: bool = True
ip: str = ""
gateway: str = ""
netmask: str = ""
@dataclass
class ShelfConfig:
device: str = ""
password: str = ""
iom1: IOMConfig = field(default_factory=lambda: IOMConfig("IOM1"))
iom2: IOMConfig = field(default_factory=lambda: IOMConfig("IOM2"))