From e59745a38b56d2517b8c006279ea6d07f8047678 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 27 Oct 2026 17:50:00 +0100 Subject: hosts: group cards by node, devices and remote, with a reachability dot The flat grid mixed Proxmox services with the phone, printers and IoT. hosts.py now gives every entry a group: the node named in its note's `node`, its own name when other notes name it as their node (so the node card heads its section), "Devices" for anything else on a private address, "Remote" for the rest. The list is sorted node by node, node card first, and the grid starts a titled section at each group change. Up/Down move by visual row and keep the column, since rows are no longer a fixed five. `hosts.py --probe` checks every host at once, about a second for the whole list, and runs beside the list rather than ahead of it. A host with a port or url is up only when that port accepts a TCP connect, so a service whose CT is up and whose daemon is down reads red; anything else gets one ping. Co-Authored-By: Claude Opus 5.5 --- hosts/README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'hosts/README.md') diff --git a/hosts/README.md b/hosts/README.md index 1be1dd7..72eb5e1 100644 --- a/hosts/README.md +++ b/hosts/README.md @@ -12,8 +12,17 @@ it runs on, and the actions its data allows: - `open`, when the note has a `url`; - `copy `, through `wl-copy`. +Cards are grouped: one section per Proxmox node, its own card first and +then every note whose `node` names it; then `Devices`, anything else on a +private address (phone, printers, IoT); then `Remote`, the rest of the ssh +aliases. A dot top-right says whether the host answers now: green yes, red +no, grey while `hosts.py --probe` runs (about a second, all hosts at once, +started with the list on each opening). A host with a `port`, or a `url`, +is probed by a TCP connect to it, so a service whose CT is up but whose +daemon is not reads red; anything else by one ping. + Type to filter (every word must match name, ip, port, hostname, node, CT id -or alias), Up/Down to move, Enter runs the first action, chips run their own. +alias or group), arrows to move, Enter runs the first action, chips run their own. `hosts.py` builds the list on every opening, so there is no cache. It reads the frontmatter of each note in the vault's `Local Network/services/` -- cgit v1.2.3