Initial cluster config: NixOS flake + k3s + 5 node definitions

- Multi-host flake.nix (3x N97 x86_64 + 2x RPi4 aarch64)
- Shared modules: k3s-cluster, tailscale, meos-gateway
- Node configs: n97-1 (control plane), n97-2/n97-3 (Ollama workers), rpi4-1/rpi4-2 (ARM workers)
- K8s manifests: Forgejo, Postgres (CNPG), Umami, OpenBrain, MeOS Dashboard, MCP servers
- Bootstrap and DB migration scripts
- Migration plan doc (7-day phased rollout)
This commit is contained in:
cos Agent 2026-05-04 12:22:09 -07:00
parent 791a9b6721
commit 7b5ffe6b11
21 changed files with 1184 additions and 2 deletions

23
hardware-rpi4.nix Normal file
View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
{
# Raspberry Pi 4 — aarch64 worker node
boot = {
kernelPackages = pkgs.linuxPackages_rpi4;
loader = {
grub.enable = false;
generic-extlinux-compatible.enable = true;
};
};
# ARM-specific performance
hardware.enableRedistributableFirmware = true;
# Local storage
systemd.tmpfiles.rules = [
"d /data/k3s 0755 root root -"
];
# RPi 4 throttling protection
powerManagement.cpuFreqGovernor = "ondemand";
}