53 lines
2.2 KiB
Markdown
53 lines
2.2 KiB
Markdown
|
|
# Hardware reference — boma
|
|||
|
|
|
|||
|
|
> Hand-maintained source of truth for **physical** compute + network gear and
|
|||
|
|
> **workload placement intent**. The two machine-readable tables (Node capacity,
|
|||
|
|
> Workload placement) are parsed by `scripts/capacity-scan.py` — keep their
|
|||
|
|
> headers intact. Evaluated by `/capacity-review`. See ADR-012.
|
|||
|
|
>
|
|||
|
|
> _Status: skeleton. Replace example rows with real hardware once the cluster is
|
|||
|
|
> stood up (STATUS.md tracks real-vs-planned)._
|
|||
|
|
|
|||
|
|
## 1. Physical compute
|
|||
|
|
|
|||
|
|
### pve0
|
|||
|
|
- **Model / form factor:** _TBD (e.g. Minisforum MS-01, mini-PC)_
|
|||
|
|
- **CPU:** _TBD (e.g. i9-13900H, 14C/20T)_
|
|||
|
|
- **RAM:** _TBD total; max _; free DIMM slots _
|
|||
|
|
- **Storage:** _TBD (disks → pools, e.g. 2× 2 TB NVMe → `local-zfs`)_
|
|||
|
|
- **NICs:** _eno1 trunk (vmbr0), eno2 corosync (vmbr1)_
|
|||
|
|
- **Notes:** _warranty, quirks_
|
|||
|
|
|
|||
|
|
_(repeat for pve1, pve2, askari)_
|
|||
|
|
|
|||
|
|
## 2. Network gear
|
|||
|
|
|
|||
|
|
| device | model | ports | poe | throughput | uplinks | notes |
|
|||
|
|
|----------|-------|-------|-----|------------|---------|-------|
|
|||
|
|
| opnsense | _TBD_ | _TBD_ | n/a | _TBD_ | WAN+LAN | dedicated hardware |
|
|||
|
|
| switch | _TBD_ | _TBD_ | _TBD_ | _TBD_ | trunk | managed, 802.1q |
|
|||
|
|
| ap1 | _TBD_ | _TBD_ | _TBD_ | _TBD_ | trunk | multi-SSID per VLAN |
|
|||
|
|
|
|||
|
|
## 3. Workload placement & intent
|
|||
|
|
|
|||
|
|
The numeric columns (`cores, ram_mb, disk_gb`) feed `capacity-scan.py`; the
|
|||
|
|
free-text columns feed `/capacity-review`'s judgement.
|
|||
|
|
|
|||
|
|
| workload | node | cores | ram_mb | disk_gb | criticality | ha_intent | profile | constraints | growth |
|
|||
|
|
|----------|------|-------|--------|---------|-------------|-----------|---------|-------------|--------|
|
|||
|
|
| dns1 | pve0 | 1 | 512 | 10 | high | pair/dns2 | tiny/steady | anti-affinity: dns2 on a different node | flat |
|
|||
|
|
| dns2 | pve1 | 1 | 512 | 10 | high | pair/dns1 | tiny/steady | anti-affinity: dns1 on a different node | flat |
|
|||
|
|
|
|||
|
|
## 4. Node capacity (machine-readable)
|
|||
|
|
|
|||
|
|
Physical totals per node. Integers; `ram_gb` and `disk_gb` may be decimals.
|
|||
|
|
|
|||
|
|
| node | cores | ram_gb | disk_gb |
|
|||
|
|
|------|-------|--------|---------|
|
|||
|
|
| pve0 | 20 | 64 | 4000 |
|
|||
|
|
| pve1 | 20 | 64 | 4000 |
|
|||
|
|
|
|||
|
|
## 5. Capacity notes
|
|||
|
|
|
|||
|
|
Free-text running notes for the evaluator (trends, planned moves, upgrade ideas).
|