constellation/disk-mapper
Malte Poll fc33a74c78
constants: make VersionInfo readonly (#1316)
The variable VersionInfo is supposed to be set by `go build -X ...` during link time but should not be modified at runtime.
This change ensures the underlying var is private and can only be accessed by a public getter.
2023-03-01 11:55:12 +01:00
..
cmd constants: make VersionInfo readonly (#1316) 2023-03-01 11:55:12 +01:00
internal image: verbose debugging options (#1159) 2023-02-24 14:25:39 +01:00
recoverproto ci: add workflow for proto code generation check 2023-01-23 12:20:37 +01: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