The hw/ module used to build a bootable Alpine USB for a fresh storage node — all the bats tests, build scripts, package.json, RUNBOOK, and tunnel-setup docs were tooling for that flow. The host (rack) is now provisioned and live; the only thing the module needs to express is the hardware manifest. Trim hw/ down to README + config.yaml describing the actual hardware (Pop!_OS 24.04, Ryzen 9 3950X, 125 GiB RAM, drive serials) plus pointers to where each runtime concern actually lives (compose.yml for services, infra/traefik for the proxy, etc.). Also drop logs/dbt.log — stale build log that should never have been tracked. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
17 lines
690 B
Markdown
17 lines
690 B
Markdown
# hw
|
|
|
|
Hardware inventory for `rack`, the storage host.
|
|
|
|
- `config.yaml` — host + drive manifest (single source of truth for hardware)
|
|
- `docs/` — motherboard, SSD, and M.2 carrier datasheets
|
|
|
|
Everything else about this host is already live and configured elsewhere:
|
|
|
|
| Concern | Where it lives |
|
|
|---|---|
|
|
| Docker services | `../compose.yml` |
|
|
| Reverse proxy | `../infra/traefik/` |
|
|
| Cloudflare tunnel | `../infra/cloudflared/config.yml` (routes `*.fhirworx.io` → traefik) |
|
|
| SSH / YubiKey auth | `~/.ssh/authorized_keys` on host (YubiKey FIDO2 + fallback keys; mirror in `config.yaml`) |
|
|
| LUKS2 boot volume | `/dev/nvme0n1p3` → `cryptdata` → LVM `data-root` (mounted `/`) |
|