Tang/Clevis auto-unlock for LUKS laptops (issue #30) #31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-30-tang-clevis"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements #30: automatic LUKS unlock on the home network via Tang (server: horse) + Clevis (client: kansas), passphrase fallback anywhere else.
modules/tang/server.nix—rpickler.tang-server: nixpkgsservices.tangon port 7654, socket-levelIPAddressAllowlimited to the LAN + wireguard ranges, plus firewall open. Keys auto-generate on first advertisement.modules/tang/client.nix—rpickler.tang-client: wires the per-host JWEhosts/clevis/<host>-tang-home.jweintoboot.initrd.clevis.devices(tang pin,useTang = true), enables initrd networking (systemd-networkd DHCP — stage-1 systemd is default on 26.05), pulls in dock/adapter NIC modules, and asserts the configured luks device exists. Until a host's JWE is committed, enabling is a safe no-op + build warning, so this PR can merge before enrollment.horse, client onkansas.modules/tang/README.md— enrollment runbook (luksAddKeyslot +clevis encrypt tangwith thumbprint pinning, both LAN and.vpnURLs embedded), verification (clevis decrypt | cryptsetup opentest), recovery (passphrase slot never removed), tang key rotation, and the phase-2 hook for SeesDeployment/work unlock (second*-tang-work.jweslot or tpm2/sss pin — drop-in).Design notes:
clevispackage installed on clients for enrollment + manual recovery.Not built/eval-tested here (no nix in this environment); module options verified against nixos-26.05
boot.initrd.clevis,services.tang, and initrd networkd modules. Firstnixos-rebuildon horse/kansas will confirm.Will close issue 30 once enrollment is done — leaving open until kansas actually unlocks via tang.