docs: correct the hardware and addressing facts this repo got wrong - #44
Merged
Conversation
Discovery against the live estate found several documented facts that were not true. Every correction here is measured, not inferred. `10.0.30.10` is the iLO BMC, not the hypervisor. The Proxmox host is `Saruman` at `10.0.30.110`. The SNMP target's `hypervisor-bmc` role label was right all along; the inventory was not. The BMC holds its address by DHCP, which the SNMP target hard-codes, so that now needs a reservation to stay pollable. `oracle` was recorded as an i5-1235U with 32 GB and a 2 TB SSD. It is a dual-core AMD A6-9200 with 4 GB and a 5400 rpm disk. That entry described a machine that does not exist and had become load-bearing in planning. The ProLiant is a 2x E5-2680 v3 with 128 GB, not the unknown quantity the table recorded. `prometheus` is the Retina 2012, so 8 GB soldered and no built-in Ethernet — it is on a USB NIC. Three inter-VLAN rules exist, not two. `snmp-exporter` on 10.0.99.20 polls 10.0.30.10 on VLAN 30, and that target has been UP for as long as it has existed. ADR-0002 is left alone: it recorded the decision accurately when it was made, and the third rule arrived later with the monitoring stack. `security.md` is the living document, so the correction goes there. `mjolnir` has no battery, and its management card reports a full one anyway: 100% charge, 48.0 VDC, a battery temperature, an hour of runtime and zero alarms, all derived rather than measured. The only honest signal it emits is the self-test, which returns Refused with an internal fault. Any rule keyed on charge or alarm count cannot fire, so the threat model no longer claims a control that is not there. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_013fvaAiKsdyFkX9HgqmuBoj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Nothing about the running lab — this is documentation catching up with what is
actually installed. A discovery pass against the live estate found several
recorded facts that were not true, and each correction here is measured rather
than inferred.
docs/network.md,docs/architecture.md,README.mdshiva= the hypervisor at10.0.30.10shiva= the iLO BMC at10.0.30.10;Saruman= the Proxmox host at10.0.30.110docs/hardware.mdoracle: i5-1235U, 32 GB, 2 TB SSDdocs/hardware.md—docs/hardware.mdprometheus: MacBook Pro (2012)docs/security.mdsnmp-exporterpolls10.0.30.10from VLAN 99docs/security.mdmjolnirhas no battery; the control does not existAlso adds a Management section to
docs/hardware.md— the BMC had no entry atall — and closes the
10.0.30.10roadmap item.Why
These were not cosmetic. Two of them had become load-bearing:
oracle's entry described a machine that does not exist. Planning work hadalready assumed a 32 GB host with Quick Sync was available for a service tier.
It is a dual-core A6 with 4 GB.
10.0.30.10ambiguity was tracked indocs/roadmap.mdand flagged in a> [!NOTE]indocs/network.md. It is settled: the SNMP target'shypervisor-bmcrole label was correct all along, and the inventory was not.The UPS is the one worth reading twice.
mjolnirhas no battery installed, andits management card reports a full one regardless — 100% charge, 48.0 VDC, a
battery temperature, an hour of runtime, zero alarms. All derived, none
measured. The only honest signal it emits is the self-test, which returns
Refused — internal fault. Any alert rule keyed on charge, runtime or alarm
count therefore cannot fire, no matter how bad things get. The threat model no
longer claims a control that is not there.
docs/adr/0002is deliberately left untouched. Perdocs/adr/0001ADRs areimmutable, and 0002 recorded the decision accurately at the time — the third
rule arrived later, with the monitoring stack. The correction belongs in
security.md, which is a living document.Blast radius
secrets/*.sops.yamlDocumentation only; no config, no compose, no rules touched.
One follow-up this surfaces rather than fixes: the iLO takes
10.0.30.10byDHCP, and
prometheus/targets/snmp.yamlhard-codes it. Without a reservation, anew lease silently breaks the target. Noted in the
[!NOTE]block.Verification
make validatepasses —all checks passed, including the SNMP inventorycross-check across targets, generator, render and example
figure came from the live hosts:
dmidecode,lsblk,free,lscpu,Prometheus
/api/v1/targets, the iLO web UI and the APC NMCdocs/, service README, ordocs/roadmap.md)Generated by Claude Code