Skip to content

0.14.0

Choose a tag to compare

@dsmorgan dsmorgan released this 17 Sep 23:10
· 17 commits to main since this release

Added

  • Routed view: every router draws (#50, ADR-0002 Decision 4). The
    routing tier holds them all: routers whose lanes don't overlap share a
    column, overlapping ones — an HA pair, a core router behind the edge
    firewall — take successive columns toward the internet, and whoever
    holds a default route stands last beside its cloud (a multi-egress site
    gets a cloud per default route). Router boxes are open frames now, so a
    lane bound for a further router visibly passes the nearer one; a lane
    lists every router that claims it (all gateways in the tooltip); a
    tunnel leaves the router that terminates it. A plain router wears the
    router glyph and color, a firewall the firewall's, as on the Overview.
    Scenario tests cover the HA pair, the inner router, and two egress
    routers — no live site yet exercises them, so they are the contract.

  • Routed view: Load mode (#50, ADR-0002 Decision 3). The router's
    per-network legs are the only edges on this view with counters — its
    VLAN interfaces, when the firewall is a polled device — so Load
    heat-tints a segment where each lane meets the router, the number
    beside it, and the default route's drop from the WAN interface, on the
    topology's palette with the same now / 24h peak select
    (load=peak). Busier direction over capacity; a declared service
    capacity beats the port speed. Lanes and attachments go quiet; grey
    means no measurement. The demo seeds firewall counters so the public
    snapshot shows it.

  • Routed view: Protocol mode (#50, ADR-0002 Decision 3). The third
    radio paints address families: IPv4 lanes teal, IPv6 lanes amber, a
    dual-stack lane teal with an amber dash riding it, and every attachment
    dot — a host's leg, the router's gateway — colored by the families it
    actually holds there. The select narrows to one family and dims
    whatever lacks it (proto=4 / proto=6; the default is both). A leg
    now lists every address a device holds on a network, and a rail knows
    its IPv4 and IPv6 gateways separately (both in the tooltip).

  • Routed view in the snapshot (#50). The break-glass file now carries
    the L3 picture under the topology map, from the same builder and
    template as /routed — never a second implementation. Its state lives in
    memory there (the URL belongs to the topology map on the same page),
    the vertical rails chip redraws in place instead of reloading, and
    double-click jumps to the device's section or the VLAN's row.

  • Topology: derived zones (#47). A translucent hull now sits behind
    each hypervisor and the guests that are nodes on the map (a virtualized
    firewall, a router VM), and a fainter one around the whole cluster when
    the hypervisors share a vSphere — named after the vSphere server, like
    the routed view's box. Zones are computed from the parent relationship
    patchbay already holds, never drawn by hand; a grouping force pulls
    members together, the VM-on-host edge hides inside a drawn zone, and
    zones draw under everything and take no clicks. In the tiers layout a
    zone keeps only the members in its hypervisor's band, so a hull never
    wraps the fabric between an Edge-band guest and its host. The zones
    chip (zones=0) turns them off. The demo's hypervisors gained specs
    so the public snapshot shows the #44 line.

  • Topology: node detail panel (#45). Clicking a node no longer
    leaves the map: a panel floats over the map's right edge with the
    node's role, status and how long ago it was seen, address, hardware,
    OS, specs, host, VLANs, and every link with the port at each end, the
    speed, utilization, and who reported it. A peer's name in the list
    selects that node; Escape or × closes; the selection rides the URL as
    sel=. The device page is the secondary action — double-click, or
    ⌘/Ctrl-click for a new tab — the routed view's contract. The panel
    reads the graph JSON, so the snapshot has it too (its link jumps to
    the device's section). Read-only by design: edits belong on /ops.

  • Topology: node card refresh (#44). Every card node now shares one
    anatomy: a rounded-square icon chip anchors the left edge, the status
    LED pins the top-right corner, and the name and subtitle read from a
    fixed inset — so a mixed row of switches, hypervisors, APs, and hosts
    scans as one kind of thing. Hypervisors gain a third line of hardware
    mini-specs (24c · 192 GB), recorded by the vSphere collector from
    vCenter's hardware summary into two new devices columns (cpus,
    mem_bytes, migrated on start) and printed on the device page and
    Overview card too; the line only appears when the data does. Role color
    stays the stroke and the glyph, status stays the LED — no glow channel.

Fixed

  • The routed view remembers your view options. A bare /routed — the
    rail's link — restores the last-used mode, family and load choice,
    visibility toggles, and axis from the browser's storage by rewriting the
    URL on arrival, the way /topology has since #16. The two maps now
    follow one rule: an explicit URL always wins outright, focus is never
    remembered, and the snapshot is exempt.

  • Device merge dropped the new specs columns. A hypervisor that
    LibreNMS also polls folds its vSphere row into the SNMP-owned primary,
    and the merge's identity field list must name every column or the
    specs vanish on every poll (the way ip6 once did). Named, with a
    regression test.

  • Topology: speed and VLAN chips on edges (#43). The bare mid-edge
    speed text is now a pill on the edge, and under it a second pill names
    the link's VLANs when there are three or fewer — an access link says
    VLAN 20, a trunk carrying twelve stays quiet (the tooltip lists
    them). Chips carry facts, not provenance: card fill and a line border,
    so edge color stays the reporter's alone; the speed text still warns
    amber at ≤100M and red at ≤10M, and the load view appends the
    utilization. The edge chips chip (chips=0) hides them.

  • Topology: port names on hover (#48). Edges no longer print their
    interface names permanently — on a dense map neighboring labels
    overlapped into noise. Hovering an edge (its hit area is now a wide
    invisible twin of the line, which also carries the tooltip) reveals the
    names at both ends; hovering a device reveals the names on every one of
    its links — the "what is plugged into this switch" question. Revealed
    names paint above every node. The port names chip (ports=1) shows
    them all, for the old always-on picture.

  • Device totals in the nav rail (#46). Every page's rail carries how
    many devices patchbay knows and how they split: up, down, and stale — a
    device no source has reported for two hours counts as stale whatever
    its last status said, the same window that ages out inferred links.
    Inferred unmanaged switches are a guess, not a device, and don't count.
    Collapsed, the numbers stack under their dots; the block links to the
    Overview. The snapshot header carries the same totals, frozen at
    generation beside the data ages.