nix # otherwise tools in direnv have to be installed manually
libvirtd # including qemu
virsh
virt-manager # optional to use a UI to interface with VMs
Two networks:
- With internet access and DHCP
- No internet access, no DHCP
Three VMs:
- Router (attached to both networks)
- Compute Cluster: Single node K8s for Ironcore (attached to air-gapped network)
- Storage Cluster: Single node K8s for Ceph (attached to air-gapped network)
Five N100 MiniPC connected with a switch:
- One is connected to LAN at home as well and acts as router.
- Three are used as "Compute"-Kubernetes-Cluster (
cluster-1). - Last one acts as single node "Storage"-Kubernetes-Cluster (running ceph) (
cluster-2).
make setup
make clean # to destory envCreate USB with installer:
make wg-gen-keys # create wireguard keys for server and client
make install-iso
sudo dd if=result/iso/nixos.iso of=/dev/sdX bs=4M status=progress conv=fdatasyncBoot from USB and run:
sudo install-router-to-disk /dev/sdXRetrieve the wireguard-config (might need manual updates):
make wg-conf > wg/wg0.confConnect to the internal IPv6 underlay:
make wg-upYou should be able to ssh to the router both using the external and internal IP:
ssh test@192.168.1.131
ssh test@fd00:dead:beef::2- nixos-anywhere
- document talos image factory