Verification level
Visible native Isaac terminal cleanup over HTTP. The Run must become closed and
not ready while the HTTP process remains live long enough to inspect operation
history. main.py does not kill terminal A.
Run it locally
Terminal A:
cd demo/server/10_terminal_close_and_remote_security
fastsim config validate run.yaml --json
fastsim-server run.yaml
Terminal B:
cd demo/server/10_terminal_close_and_remote_security
python main.py --timeout 30
/run/stop already cancels and drains active control and is terminal for further Run
work; it does not make the application reusable. /run/close is the only lifecycle
mutation accepted afterward: it completes plugin post-processing and application
cleanup and releases resources. The operation registry remains readable. The
immutable Run cannot be reopened; press Ctrl+C in terminal A and start a new server
process for another Run.
Use it across machines
A non-loopback listener refuses insecure HTTP and requires both TLS and a private token file. On the server host:
chmod 600 ./fastsim-server.token
chmod 600 ./server.key
fastsim-server run.yaml --host 192.0.2.10 \
--token-file ./fastsim-server.token \
--tls-cert-file ./server.crt \
--tls-key-file ./server.key
On the client host:
python main.py --base-url https://192.0.2.10:8000 \
--token-file ./fastsim-server.token
Replace the documentation address and files with your deployment values. The token must contain 32–4096 non-whitespace characters and be readable only by its owner. Certificate validation remains enabled. Health, OpenAPI, and data routes all require the same bearer authentication.
Return to the Server demo index.