Does dstack support GCP / Azure
dstack is open for PRs to add that support. Currently it focuses on bare metal because it offers the most fine-grained control and access to vanilla TDX.How does KMS key generation work and how can it be modified?
The key generation logic is implemented in the onboard service:Reference: https://github.com/Dstack-TEE/dstack/blob/master/kms/src/onboard\_service.rs#L50
How does on-chain KMS work and how can I customize its governance?
The KMS contract allows for customizable ownership and governance:- During deployment, you can specify an owner
- After deployment, ownership can be transferred using transferOwnership function
Reference: https://github.com/Dstack-TEE/dstack/blob/master/kms/auth-eth/hardhat.config.ts#L96
Where can I find KMS deployment instructions?
Complete deployment documentation is available here: Reference: https://github.com/Dstack-TEE/dstack/blob/master/docs/deployment.mdHow does the current data encryption system work?
The CVM data disk is a LUKS2 volume encrypted withaes-xts-plain64. The guest creates it on first boot and unlocks it on every boot after that.
The key comes from KMS, which releases it only after the CVM’s attestation passes the app’s on-chain authorization. KMS derives it from its root key over the app ID and instance ID, so each instance gets a distinct key that exists only inside the CVM. The host holds ciphertext and never sees the key.
LUKS encrypts the disk but does not authenticate it, so detecting a modified block is the filesystem’s job. The default zfs checksums every block and fails the read. ext4 checksums metadata but not file data.
Reference: dstack-util/src/system_setup.rs

