CLI reference
ts setup # interactive token entry
ts token set --token-id ID --token-secret SECRET
ts token new [--label x] # mint and activate a new token
ts app list | logs NAME [-n 3] | delete NAME
ts sandbox create --gpu G [--count N] [--image I] [--name X] [--lease H] [--idle M] [--app A] [--secret S]... [--volume V]... [--ssh-key FILE]
ts sandbox list | ssh ID [CMD] | exec ID -- CMD | stop ID
ts run SCRIPT [--gpu G] [--count N] [--image I] [--app A] [--name X] [--cmd "..."] [--timeout H] [--secret S]... [--volume V]... [--detach]
ts volume create NAME | list | ls NAME [PATH] | put NAME LOCAL REMOTE | get NAME REMOTE LOCAL | rm NAME PATH | delete NAME
ts secret create NAME KEY=VALUE... | list | delete NAME
ts env list | create NAME | use NAME
ts billing | usage
Configuration lives in ~/.tengsuan.json. Environment variables TS_TOKEN_ID, TS_TOKEN_SECRET, TS_ENVIRONMENT and TS_BASE_URL override it, which is handy in CI.