Add Starlink status lines for the physical gateway pane (closes #3)
check / check (push) Failing after 1s
check / check (push) Failing after 1s
When the non-VPN physical gateway is a Starlink dish, two lines are shown under that pane: state, uptime, obstruction and alert count; then pop-ping latency and drop rate with downlink/uplink throughput. They turn red when the dish is not connected or an alert is active. Detection is a TCP connect to the dish's fixed endpoint 192.168.100.1:9200, bound to the physical interface the same way the latency probes bind. Until a dish answers nothing is drawn and no status is fetched, so an absent dish adds no noise. Status comes from the dish's local get_status gRPC call. Detection and the fetch sit behind a small Client interface; the loop and the pure Render function are tested with a fake, no dish and no network. Model: opus-4-8
This commit is contained in:
@@ -98,6 +98,11 @@ func runMonitor(cmd *cobra.Command, cfg *config) error {
|
||||
|
||||
mon := monitor.NewMonitor(specs, cfg.LogFile)
|
||||
|
||||
// The non-VPN physical gateway is the last pane: pane B when there are
|
||||
// two, the only pane when there is one. That is where a Starlink dish,
|
||||
// if present upstream, is detected and its status shown.
|
||||
mon.EnableStarlink(specs[len(specs)-1].Name)
|
||||
|
||||
for _, host := range cfg.Hosts {
|
||||
mon.AddReachabilityHost(host)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user