📝 Update README & specifications.
This commit is contained in:
@@ -44,6 +44,14 @@ a virtual node whose I/O behavior is driven by scripted scenarios.
|
||||
config, 255 = DHCP), WBM-equivalent pages (Port/Ethernet, Modbus
|
||||
settings, Modbus Mapping, I/O Config), and device-state persistence
|
||||
with factory reset.
|
||||
- **Host network settings** *(requested, planned — spec §15)*: a
|
||||
Docker-gated, opt-in settings page (`WAGO_SIM_HOSTNET=1` **and**
|
||||
container detection) that lists the host OS's network interfaces
|
||||
and adds/removes/changes their IPv4 addresses through a
|
||||
whitelisted host-side agent — so simulated node re-addressing
|
||||
(DIP dedicated-IP mode) and network-loss fault cases become real
|
||||
on the bench network. Runtime-only changes, snapshot/undo, and an
|
||||
audit log; fully absent (404) when the flag is off.
|
||||
- **Long-duration (continuous) simulation** *(requested, planned — see
|
||||
`docs/spec/software-spec.md` §8)*: endurance/soak testing over days or
|
||||
weeks of simulated time. Designated inputs are driven from streaming
|
||||
@@ -343,6 +351,34 @@ requirement ID for each item in parentheses.
|
||||
protocol tracing, diagnostics and fault injection (FR-14.2.5–
|
||||
14.2.6); scoping questions to answer before planning (§14.3).
|
||||
|
||||
### Requested — host network settings (spec §15, not yet scheduled)
|
||||
|
||||
- [ ] Host OS IP settings page (FR-15.2.1–15.2.3): exposed in the web
|
||||
UI only when `WAGO_SIM_HOSTNET=1` **and** running inside Docker
|
||||
(compose sets `WAGO_SIM_IN_DOCKER=1`; `/.dockerenv` as a
|
||||
supplementary signal); authenticated page listing the host's
|
||||
interfaces with link state and current IPv4 addresses, read
|
||||
from live host state, with add/remove/change-address operations
|
||||
validated client- and agent-side; routes answer 404 when
|
||||
disabled — no dormant surface.
|
||||
- [ ] Host-side agent + safety rails (FR-15.2.4–15.2.8): a
|
||||
whitelisted companion service on the host (Unix socket mounted
|
||||
into the container; `pyroute2`/`ip` on Linux v1, systemd unit in
|
||||
`deploy/`) — interface whitelist, runtime-only (non-persistent)
|
||||
address changes so a host reboot restores deployed addressing,
|
||||
snapshot before every mutation with undo/restore, single-line
|
||||
audit log; degraded state (agent unreachable) shows a banner
|
||||
and answers 503 without affecting the rest of the UI; readonly
|
||||
mode hides the page and 403s mutations.
|
||||
- [ ] DIP dedicated-IP integration (FR-15.2.9): applying a DIP-switch
|
||||
address change in dedicated-IP mode routes through the agent so
|
||||
the derived IP lands on the host NIC — the PLC on the bench
|
||||
network must genuinely re-connect to the new node address, like
|
||||
a physical coupler after a DIP change (ties into §11
|
||||
FR-11.3.3); scoping questions (platform scope, bridge vs host
|
||||
networking, agent auth, IPv6, link up/down) in §15.4 before
|
||||
planning.
|
||||
|
||||
### Web UI (spec §10) — in implementation
|
||||
|
||||
- [x] Spec §10.3–10.6 updated with binding implementation decisions:
|
||||
|
||||
Reference in New Issue
Block a user