constellation/disk-mapper
Daniel Weiße ac1128d07f
cryptsetup: unify code (#2043)
* Add common backend for interacting with cryptsetup

* Use common cryptsetup backend in bootstrapper

* Use common cryptsetup backend in disk-mapper

* Use common cryptsetup backend in csi lib

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2023-07-17 13:55:31 +02:00
..
cmd cryptsetup: unify code (#2043) 2023-07-17 13:55:31 +02:00
internal cryptsetup: unify code (#2043) 2023-07-17 13:55:31 +02:00
recoverproto deps: update module github.com/sigstore/rekor to v1.2.2 (#2033) 2023-07-06 15:41:14 +02:00
README.md dev-docs: Go package docs (#958) 2023-01-19 15:57:50 +01:00

disk-mapper

The disk-mapper is a binary that runs during the initramfs of a Constellation node.

If running on a new node, it handles setting up the node's state disk by creating an integrity protected encrypted partition.

On a rebooting node, the disk-mapper handles recovery of the node by requesting a decryption key for its state disk. Once the disk is decrypted, the measurement salt is read from disk and used to extend a PCR to mark the node as initialized.

Testing

Integration test is available in disk-mapper/test/integration_test.go. The integration test requires root privileges since it uses dm-crypt. Build and run the test:

go test -c -tags=integration ./disk-mapper/internal/test/
sudo ./test.test