🖥️Fleet
Every host in the homelab. Each has a page under
Fleet/carrying its hardware sheet — vendor, model, serial, CPU, RAM, storage, firmware — and its physical quirks.Roles, cluster membership, and node addresses are not recorded here. Hosts are declared in
flake.nix; network facts live in the topology SSOT described on Architecture/Kubernetes. Read those.Kubernetes nodes
Declared in
nix/hosts/. See Architecture/Kubernetes for cluster composition.Host Cluster Hardware Fleet/optiplex folly Dell OptiPlex 3050 micro, i7-7700T Fleet/riptide folly HP EliteDesk 800 G5 DM, i5-9500T Fleet/shale folly HP EliteDesk 800 G2 DM 35W, i7-6700T Fleet/retrofit offsite HP EliteDesk 800 G2 DM 65W, i7-6700T Fleet/oldschool offsite HP EliteDesk 800 G3 DM 35W, i5-6500 TPM across the x86 fleet: only Fleet/riptide has an operational TPM 2.0; Fleet/shale and Fleet/retrofit enumerate TPM 1.2 (too old for
systemd-cryptenroll); Fleet/optiplex needs BIOS enablement; Fleet/oldschool has none. Per-host detail is on each page.
Raspberry Pis
Configured in
nix/hosts/. See Architecture/NixOS for how they build.Host Purpose Hardware Fleet/spore NFS, PXE, signed native-boot, DNS and NTP Pi 5 8 GB, NVMe Fleet/capsule DNS sinkhole and NTP Pi 5 8 GB, NVMe Fleet/forge arm64 build host, harmonia cache, OCI builder Pi 5 8 GB, NVMe Fleet/homepi4 kiosk Pi 4B 8 GB, 7" touch display Fleet/weatherpi4 weather kiosk Pi 4B 8 GB Fleet/cloudpi4 utility and CoreDNS canary Pi 4B 4 GB Fleet/radiopi0 radio Pi Zero W Fleet/blinkypi0 LED display Pi Zero W No Pi in the fleet has TPM hardware; the SBC class does not expose one.
Microcontroller
Host Purpose Hardware Fleet/eviropico environment sensor Pi Pico W, Pimoroni Enviro+
Cloud
Host Where Hardware Fleet/oldboy GCE, homelab-ngprojecte2-micro, free tier When provisioned, its
shielded_instance_configgives Fleet/oldboy a GCE vTPM; see the divergence below.
Reaching hosts
LAN hosts resolve as
<host>.lolwtf.ca.Fleet/weatherpi4 and the offsite nodes require the tailnet.
Kubernetes nodes have Tailscale disabled — reach them over the LAN or through the cluster.
Known divergence
Git is the source of truth for this fleet; these hosts differ from what the repo declares, and each difference is a bug to close.
Fleet/cloudpi4 runs Ubuntu. Its NixOS config exists and is unapplied.
Fleet/radiopi0 runs Raspbian. Its NixOS config carries no radio service; the armv6l closure builds but the service is not ported.
Fleet/blinkypi0 is unplugged. Its NixOS config carries no device service and its device code is not in git.
Fleet/eviropico is unplugged. Its MicroPython code is not in git.
Fleet/oldboy is not provisioned. Its Terraform and NixOS config exist but no live instance runs; needs to be brought back.
Sub-pages
Linked references 8
Use this when building, deploying, or rolling back a NixOS host from this repo. Host inventory lives in Fleet; architecture background lives in Architecture/NixOS.
Networking spans all four layers: UniFi VLANs and BGP at Layer 1/3 (terraform/network/), Cilium and the Gateway API inside each cluster at Layer 2 (clusters/*/networking/), Cloudflare and Tailscale gluing sites together at Layer 3. This page is the single place the whole story lives. Cluster composition is on Architecture/Kubernetes; host hardware is on Fleet; live discovery of the running UniFi controller is the unifi-network skill (Runbooks/Inspect UniFi Network).
Step-by-step: Runbooks/Deploy a NixOS Host. Host inventory: Fleet. Layer background: Architecture/NixOS.
Hardware, serials, and per-host quirks for all five nodes: Fleet.
Fleet — the concrete hosts all of this runs on
Layer 1: bare metal. Every host in the fleet is declared as NixOS in one flake at the repo root (flake.nix), configured under nix/. A few hosts run something else and are being brought across — Fleet lists the machine inventory and the known divergence. Runbooks/Deploy a NixOS Host has the build/deploy/rollback commands; this page is architecture only.
Seeded Architecture (all four layers plus networking, secrets, and GitOps), Fleet, and Runbooks.