The Crucial P1 was mounted through two hand-written blocks in the host
because moonarch.disk knows only roles that stage 1 waits for, and a disk
that dies every other day must not be one of those. disko has a switch for
exactly this — initrdUnlock = false keeps a container out of the initrd —
so the role fits into the layout after all.
moonarch.disk.storage partitions and formats the disk like the other two,
but its container is opened after stage 1 by a key file on the encrypted
root disk, the filesystem mounts on first access, systemd stops waiting
after five seconds, and an idle timeout unmounts it again. A missing or
dead disk is then a missing directory, not a stalled boot.
The crypttab entry addresses the partition by partlabel, which disko
derives from the names in the layout, so no UUID has to be pasted in and a
replaced disk needs no edit here.
Verified after reboot: container opens as `storage` without a passphrase
prompt, /storage mounts on access, and the initrd holds only `crypted`.