--- import BaseLayout from '../layouts/BaseLayout.astro'; // ── Hardware data — edit this as your inventory grows ────────── const hardware = { compute: [ { name: 'Proxmox Node 01', model: 'Dell PowerEdge R730', specs: ['2× Intel Xeon E5-2680v4 (28C/56T total)', '256GB DDR4 ECC LRDIMM', '2× 10GbE SFP+', 'iDRAC8 Enterprise', 'H730 RAID (passthrough)'], role: 'Primary Proxmox hypervisor · VM host', status: 'online', location: 'homelab rack · U4', }, { name: 'Proxmox Node 02', model: 'Dell PowerEdge R720', specs: ['2× Intel Xeon E5-2670 (16C/32T total)', '128GB DDR3 ECC RDIMM', '2× 1GbE', 'iDRAC7 Enterprise'], role: 'Secondary Proxmox node · backup workloads', status: 'online', location: 'homelab rack · U6', }, { name: 'Raspberry Pi 4 (8GB)', model: 'Raspberry Pi 4 Model B', specs: ['Broadcom BCM2711 (4× Cortex-A72)', '8GB LPDDR4', '2× USB 3.0, Gigabit Ethernet', '64GB Samsung Pro Endurance microSD'], role: 'PXE boot server · ISC26 cluster deployment', status: 'online', location: 'desk · USB-C powered', }, ], storage: [ { name: 'ZFS NAS — zfs-oporto', model: 'Custom Proxmox VM → ZFS passthrough', specs: ['4× Seagate IronWolf 8TB (RAIDZ2)', '2× Samsung 870 EVO 1TB (SSD special class vdev)', 'ZFS 2.2 — RAIDZ expansion capable', '~20TB usable raw (RAIDZ2 overhead)'], role: 'Primary NAS · NFS exports to K8s · Immich storage', status: 'online', location: 'pve-01 · RAIDZ2', }, { name: 'Longhorn Cluster Storage', model: 'Distributed across k8s-worker1/2', specs: ['2× 500GB NVMe (worker1)', '2× 500GB NVMe (worker2)', '3-replica default policy'], role: 'Kubernetes persistent volumes · Longhorn CSI', status: 'online', location: 'k8s-worker1 / k8s-worker2', }, ], networking: [ { name: 'OPNsense Firewall', model: 'Protectli VP2420', specs: ['Intel Celeron J6413', '8GB DDR4', '4× 2.5GbE Intel i226', '64GB eMMC', 'OPNsense 26.1'], role: 'Edge router · Firewall · WireGuard VPN · Unbound DNS · GeoIP blocks', status: 'online', location: 'homelab rack · U1', }, { name: 'Core Switch', model: 'Cisco SG300-28PP', specs: ['24× PoE+ 1GbE', '2× 1GbE combo SFP', 'Layer 3 managed', '375W PoE budget'], role: 'Core VLAN switch · LAG to hypervisors', status: 'online', location: 'homelab rack · U2', }, { name: 'AP', model: 'Ubiquiti U6-Lite', specs: ['WiFi 6 (802.11ax)', '2.4 + 5GHz', 'PoE powered'], role: 'Wireless · separate IoT SSID on VLAN50', status: 'online', location: 'ceiling mount', }, ], work_hpc: [ { name: 'ARCHER2 (EPCC)', model: 'HPE Cray EX — AMD EPYC 7742', specs: ['5,860 compute nodes', '2× AMD EPYC 7742 (128C/node)', '256GB DDR4 ECC/node', 'HPE Slingshot 11 100Gb/s HSN', '14.1 PiB Lustre storage'], role: 'UK National HPC facility · sysadmin', status: 'production', location: 'EPCC · Edinburgh', }, { name: 'Cirrus (EPCC)', model: 'SGI ICE XA / HPE ProLiant XL230a', specs: ['280 compute nodes', '2× Intel Xeon E5-2695v4 (36C/node)', '256GB DDR4/node', 'Intel OmniPath HSN', 'Cirrus EX GPU partition: HPE Cray EX235n'], role: 'EPCC Tier-2 HPC · sysadmin · GPU partition admin', status: 'production', location: 'EPCC · Edinburgh', }, { name: 'ISC26 Competition Cluster', model: 'Atos BullSequana XH2000', specs: ['1× BullSequana XD670 GPU node (4× NVIDIA H100 80GB)', '8× BullSequana XD2000 CPU nodes', 'NDR 400Gb/s InfiniBand fabric (Cornelis)', 'Raspberry Pi 4 PXE deployment server'], role: 'ISC26 Student Cluster Competition — Hamburg 2026', status: 'building', location: 'EPCC · Edinburgh', }, ], peripherals: [ { name: 'Main Monitor', model: 'LG 27UK850-W', specs: ['27" 4K IPS', 'USB-C 60W PD', 'HDR400', 'USB-C + HDMI + DP'], role: 'Primary display', status: 'online', }, { name: '3D Printer', model: 'Anycubic Kobra S1', specs: ['FDM · 220×220×250mm build volume', 'Auto-levelling', 'Direct drive'], role: 'Printing rack accessories, cable guides, custom mounts', status: 'idle', }, { name: 'Laser Printer', model: 'Kyocera ECOSYS M2135dn', specs: ['A4 mono laser MFP', 'Duplex · LAN · ADF', '35ppm'], role: 'Documents · printing homelab diagrams', status: 'idle', }, ], }; const categories = [ { key: 'compute', label: 'Compute', icon: '▣' }, { key: 'storage', label: 'Storage', icon: '◈' }, { key: 'networking', label: 'Networking', icon: '⇅' }, { key: 'work_hpc', label: 'Work / HPC', icon: '⬡' }, { key: 'peripherals',label: 'Peripherals & Misc', icon: '◎' }, ]; --- Hardware Inventory Everything physical I touch, rack and bench · last updated 2025 {categories.map(cat => ( {cat.icon} {cat.label} ))} {categories.map(cat => ( {cat.icon} {cat.label} {(hardware as any)[cat.key].map((item: any) => ( {item.name} {item.model} {item.status} {item.specs.map((s: string) => ( ▸ {s} ))} ))} ))} {Object.values(hardware).flat().length} items catalogued · rack::log hardware registry
Everything physical I touch, rack and bench · last updated 2025
{Object.values(hardware).flat().length} items catalogued · rack::log hardware registry