You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The setup script generates demo TLS material, creates `config.toml` when needed,
27
-
starts Postgres and static HTTPS mock services with Podman Compose or Docker Compose, applies the
28
-
database migration, builds and starts the gateway, enrolls a demo principal,
29
-
grants access to `docstore` and `messaging`, creates a demo agent handle, and
30
-
verifies that Claude Code can fetch `https://docstore/health` through the
31
-
gateway.
32
-
33
-
`demo/generate-server-certs.sh` creates gateway TLS material (`server-ca.pem`,
34
-
`server.pem`, ...) and mock HTTPS service TLS material (`mock-ca.pem`,
35
-
`mock-services.pem`, ...). The local demo enrolls with `./demo/demo-agent.sh`,
36
-
which starts a local `swtpm`, creates a persistent P-256 signing key in that
37
-
simulated TPM, and prepares `machine-client.pem` as a certificate carrier for
38
-
that public key and identity extension. The gateway does not trust a client CA
39
-
bundle; it authorizes the exact subject public key recorded in signed Postgres
40
-
permission rows.
41
-
42
-
`demo/setup.sh` keeps its tpm2-pkcs11 state under the demo state directory by
43
-
default. Override `AGENT_GATEWAY_DEMO_TPM2_PKCS11_STORE` only when you
44
-
intentionally want the demo principal to use another store.
45
-
46
-
After setup, prompt the demo agent:
47
-
48
-
```bash
49
-
./demo/demo-agent.sh prompt agent-alpha \
50
-
--prompt "Use the Bash tool to run exactly these commands: curl -sS https://docstore/documents and curl -sS https://messaging/messages. Then summarize what you found."
51
-
```
52
-
53
-
On later runs, start the gateway first and use `./demo/demo-agent.sh prompt`. `./demo/connect.sh` prepares `machine-client.pem` for the current simulated TPM key and identity extension whenever it prepares or starts the sidecar. `--regenerate-certs` creates a fresh simulated TPM state; any permissions for the old subject key will no longer match.
54
-
55
-
Pass a custom policy extension value: `./demo/connect.sh start-sidecar ... --extension-value agent-beta`. The extension value must match `permission_registry.subject_identity` in an active signed permission row.
56
-
57
-
The simulated TPM state lives under `$AGENT_STATE/client/swtpm/`. By default,
58
-
the sidecar uses TCTI `swtpm:host=127.0.0.1,port=2321` and persistent handle
59
-
`0x81010004`; override the handle or simulator data port with
60
-
`./demo/connect.sh start-sidecar --tpm-handle` and
61
-
`--swtpm-port`. The swtpm control port is always the data port plus one, which
62
-
matches the TSS swtpm TCTI convention.
13
+
The end-to-end demo, sidecar, TPM setup, mock services, and registry helper
14
+
scripts live in the split demo repository. The demo pins a gateway image such as
15
+
`ghcr.io/TODO_ORG/TODO_IMAGE:TODO_TAG` and does not require this source checkout.
0 commit comments