infra_wiki

spore

A Raspberry Pi 5 on NVMe that serves x86 netboot, forge's HTTP boot image, the Talos boot image and Tinkerbell, lab DNS and time, and the SPIRE server.

vendorRaspberry Pi
modelRaspberry Pi 5 Model B Rev 1.1 (8 GB)
seriald860ec5f943fe335
revisiond04171
cpuBCM2712, Cortex-A76 (4c)
ram8 GB LPDDR4X-4267
gpuBroadcom VideoCore VII
storage128 GB Patriot P300 NVMe (32 GB root, the rest at /nfs/data)
osNixOS 26.05 (Yarara)

spore is a Raspberry Pi 5 that serves x86 netboot, forge's boot image, and lab DNS and time. It is on the Anchor network, folly's network for lab hosts.

What it runs#

nix/hosts/spore.nix imports these modules from nix/services/. clusters/folly/monitoring/spore.yaml declares their alerts.

  • The /nfs/data filesystem, which holds Garage, the rackpi5 boot images and an export to the Lab future network (nfs-server.nix). No Kubernetes volume lives on it.
  • Netboot for x86 PXE and rackpi5 (pxe-netboot.nix, spore-native-boot.nix)
  • Tinkerbell, which reprovisions folly's Talos nodes (tinkerbell.nix), with HookOS's syslog in the journal (hookos-syslog.nix)
  • Kea, the Kubernetes network's DHCP once the gateway relays it here (kea.nix)
  • Lab DNS and time through nix/profiles/anchor.nix, which imports coredns-sinkhole.nix and ntp-server.nix
  • Talos boot and fleetd on the bootstrap VLAN (talos-boot.nix, fleetd.nix), with the DevID CA on its YubiKey (devid-ca-yubikey.nix)
  • folly's backup Garage store, with data in /nfs/data/garage-ha (garage.nix), as a node of the Garage cluster. The old standalone store in /nfs/data/garage is the rollback.
  • The SPIRE server that attests Talos nodes by TPM (spire-server.nix)

Reach#

Reach it at spore.lolwtf.ca or spore.<tailnet>.

Quirks#

  • nix.gc keeps 7 days and the system profile keeps the current generation and 3 before it, because each generation adds a boot image to the 32 GB root. The rackpi5 publisher keeps the newest 4 releases.

Edit on GitHub

↑↓ move ↵ open esc close