@@ -32,6 +32,41 @@ Use the narrowest owning directory. Fixture explanations and component
3232READMEs should stay with their fixtures/components; general guides should be
3333linked from the root README and live under ` docs/ ` .
3434
35+ ## Test a guest without TEE hardware
36+
37+ Development images include the extensible ` dstack-tee-simulator ` . Its default
38+ platform backend is TDX. On a VM launched with ` no_tee ` , that backend exposes
39+ the Linux interfaces used by the normal guest software:
40+
41+ - configfs-tsm quote generation under ` /sys/kernel/config/tsm/report ` ;
42+ - RTMR extension files used by ` tdx-attest ` ;
43+ - a CCEL boot-event fixture.
44+
45+ This keeps ` dstack-prepare ` , measurement, encrypted-storage setup, the guest
46+ agent, and attestation APIs on their production code paths. The generated quote
47+ has an intentionally invalid signature, so a production verifier or KMS must
48+ reject it.
49+
50+ The service uses the default TDX backend. For direct simulator development, the
51+ same selection can be made explicitly with `dstack-tee-simulator --platform
52+ tdx`. New TEE platforms are implemented as separate backends behind the shared
53+ simulator lifecycle.
54+
55+ Build or install a ` dstack-dev-* ` image, then deploy without KMS or gateway:
56+
57+ ``` bash
58+ dstack deploy ./docker-compose.yml \
59+ --name no-tee-dev \
60+ --image dstack-dev-VERSION \
61+ --no-kms \
62+ --no-tee
63+ ```
64+
65+ The simulator package is installed only in development images. This mode
66+ provides no hardware isolation and must never be used with production
67+ workloads or secrets. Real quote generation, hardware isolation, and KMS
68+ authorization still require TDX or another supported TEE.
69+
3570## Commit Convention
3671
3772This project uses [ Conventional Commits] ( https://www.conventionalcommits.org/ ) . Please format your commit messages as:
0 commit comments