docs: add homelab-inventory — the machine-derived fleet inventory layer
New doc for the weekly self-deriving inventory pipeline: a three-tier Ansible collection (hardware off the hypervisors/firewall, VMs/LXCs from the Proxmox APIs, listening sockets off every guest) writing three linked NocoDB tables, read live behind a Dashy page. Covers the design decisions worth defending: ss -tlnp over systemctl for "what does this host serve", merge-only-by-omission on Tier 1 to protect the one hand-entered field a lying SMBIOS can't provide, API-only Tier 2 because the two Proxmox nodes aren't clustered, stdlib-only push scripts, and the deliberate KB-vs-machine-layer separation. Pipeline diagram + four screenshots (Dashy page, all three NocoDB tables). Provenance comment wired to the ansible roles/playbooks, the rocky Caddy/ dashy config, and KB note O0d4fqw0mr05. Indexed in README under Systems.
This commit is contained in:
7 files changed
+125
No files matched your search
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Do not edit this file with editors other than draw.io -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1251px" height="486px" viewBox="0 0 1251 486" content="<mxfile host="embed.diagrams.net" scale="1" border="0">
 <diagram name="homelab-inventory-pipeline" id="hip1">
 <mxGraphModel dx="874" dy="519" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1320" pageHeight="560" math="0" shadow="0">
 <root>
 <mxCell id="0" />
 <mxCell id="1" parent="0" />
 <mxCell id="title" parent="1" style="text;html=1;align=left;verticalAlign=middle;fontSize=15;fontStyle=1;fontColor=#333333;" value="Homelab Inventory Pipeline" vertex="1">
 <mxGeometry height="26" width="360" x="40" y="20" as="geometry" />
 </mxCell>
 <mxCell id="kestra" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=11;fontColor=#333333;" value="Kestra&#xa;homelab-inventory-sync&#xa;weekly · Thu 12:00" vertex="1">
 <mxGeometry height="64" width="200" x="60" y="60" as="geometry" />
 </mxCell>
 <mxCell id="t1" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=11;fontColor=#333333;" value="Tier 1 · Hardware&lt;br&gt;node1 / node2 + pfSense" vertex="1">
 <mxGeometry height="56" width="200" x="60" y="190" as="geometry" />
 </mxCell>
 <mxCell id="t2" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=11;fontColor=#333333;" value="Tier 2 · VMs / LXCs&#xa;Proxmox API — no SSH" vertex="1">
 <mxGeometry height="56" width="200" x="60" y="286" as="geometry" />
 </mxCell>
 <mxCell id="t3" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=11;fontColor=#333333;" value="Tier 3 · Services&#xa;ss -tlnp + docker ps" vertex="1">
 <mxGeometry height="56" width="200" x="60" y="382" as="geometry" />
 </mxCell>
 <mxCell id="gate" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontSize=10;fontColor=#333333;dashed=1;" value="pfSense Manufacturer / Model — entered by hand.&#xa;Tier 1 never sends these keys, so the weekly&#xa;push cannot overwrite them." vertex="1">
 <mxGeometry height="66" width="360" x="420" y="50" as="geometry" />
 </mxCell>
 <mxCell id="noco" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=#666666;fontSize=11;fontStyle=1;fontColor=#333333;verticalAlign=top;spacingTop=6;" value="NocoDB — 3 linked tables" vertex="1">
 <mxGeometry height="300" width="290" x="420" y="150" as="geometry" />
 </mxCell>
 <mxCell id="hw" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=11;fontColor=#333333;" value="Hardware Inventory" vertex="1">
 <mxGeometry height="48" width="230" x="450" y="190" as="geometry" />
 </mxCell>
 <mxCell id="vm" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=11;fontColor=#333333;" value="VM / LXC Inventory" vertex="1">
 <mxGeometry height="48" width="230" x="450" y="286" as="geometry" />
 </mxCell>
 <mxCell id="svc" parent="1&Line truncated
|
||||
|
After Width: | Height: | Size: 369 KiB |
Reference in new issue
Block a user