The Starlink RTL8153 gets a declarative NM profile in 50-van-wan.yaml (replaces the auto 'Wired connection 1') with a 192.168.100.1/32 link route, so the dish's management address stays reachable from the router and — via the existing !br0 masquerade — from the van LAN, regardless of which WAN holds the default route. New Cockpit "Starlink" card queries the dish's gRPC API (:9200, get_status via grpcurl — not packaged in apt, deploy.sh warns when missing) inside the existing single batched spawn: online/obstructed/outage pill, alerts, uptime, sw version, PoP latency, down/up throughput, obstruction %. Sentinels distinguish adapter-absent / no-grpcurl / dish-unreachable. Gotcha captured while cutting over: a WAN profile without ipv4.route-metric makes NM re-assert its DHCP default (metric ~101) against van-failover's enforce_route pruning every cycle; the profile metric must match (failover's set_profile_metric does this on health transitions). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
58 lines
1.6 KiB
HTML
58 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Van Router</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link href="../base1/cockpit.css" type="text/css" rel="stylesheet">
|
|
<link href="vanrouter.css" type="text/css" rel="stylesheet">
|
|
<script src="../base1/cockpit.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="vr-wrap">
|
|
<div class="vr-head">
|
|
<h2>Van Router</h2>
|
|
<span id="updated" class="muted">loading…</span>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Access Points</h3>
|
|
<div id="ap"></div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Temperatures</h3>
|
|
<div id="thermal"></div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Battery / Power</h3>
|
|
<div id="battery"></div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>WAN Failover</h3>
|
|
<div id="failover"></div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Starlink</h3>
|
|
<div id="starlink"></div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>WAN / Uplinks</h3>
|
|
<table>
|
|
<thead>
|
|
<tr><th>Device</th><th>Type</th><th>State</th><th>IPv4</th><th>Metric</th><th>Actions</th></tr>
|
|
</thead>
|
|
<tbody id="wan"></tbody>
|
|
</table>
|
|
<p class="muted">Lower metric = preferred default route. <span class="active-wan">★ blue</span> = current internet egress.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="vanrouter.js"></script>
|
|
</body>
|
|
</html>
|