tritonctl sandbox
tritonctl sandbox manages sandboxes: Linux microVMs that run programs for
you. The family has 22 commands and 5 groups (snapshot, fs, ports,
network, template), with 47 commands in all.
These API operations have no tritonctl command: metrics, events, preview
token rotation, session create and revoke, code contexts and runs, and desktop
screenshots and input.
Synopsis
tritonctl sandbox list | show | create | update | delete | keepalive
tritonctl sandbox stop | start | pause | resume | resize | fork
tritonctl sandbox snapshot create | list | show | delete
tritonctl sandbox exec | exec-attach | claude | git | pr | ssh-config
tritonctl sandbox fs put | get | cat | mv | mkdir | ls | stat | rm | watch
tritonctl sandbox ports ls | open | close
tritonctl sandbox port-forward | url
tritonctl sandbox network show | replace
tritonctl sandbox capability | rdp
tritonctl sandbox template list | show | build | logs | delete | tag | untag
tritonctl llms.txt | llms-full.txt
Conventions
| Term | Meaning |
|---|---|
<SANDBOX> | A sandbox name, UUID, or UUID prefix. Names and prefixes resolve in the current project. With no project set, a whole name is sent to the server and a prefix does not resolve. |
<DURATION> | 90, 90s, 15m, 2h, or 1d. A bare number is seconds. |
<KEY=VALUE> | A pair with a non-empty key. Repeatable. |
| Guest paths | Absolute paths in the guest. |
Aliases: list is also ls, and delete is also rm, on sandbox,
snapshot, and template.
A command that prints one record refuses -s, -l, -H, and --limit.
Global flags
These flags are accepted before or after any subcommand.
| Flag | Value | Default | Description |
|---|---|---|---|
--endpoint | URL | TRITONCTL_ENDPOINT, then the config | Cluster endpoint. |
--api-key | Key | TRITONCTL_API_KEY | API key to send as the bearer credential. |
--project | Name, UUID, or prefix | TRITONCTL_PROJECT, then the configured project | Project to work in. The tenant comes from the token. |
-p, --profile | Name | TRITONCTL_PROFILE, then profile use | Stored profile for this command. |
--timeout | Seconds | 60 | Request timeout. 0 waits forever. |
-v, --verbose | Flag | Off | Print the full cause chain on error. |
-j, --json | Flag | Off | JSON output. Same as --format json. |
--format | table, json, yaml | table | Output format. JSON is the stable interface for scripts. |
-o, --output | Columns | Per command | Columns to show, comma separated. A dotted path reads a field of the raw record. Table only. |
-l, --long | Flag | Off | Wider column set. Ignored with -o. |
-s, --sort | Columns | Per command | Sort columns, comma separated. A leading - reverses a column. |
-H, --no-headers | Flag | Off | Omit the header row. |
--limit | Count | None | Stop after this many rows. |
Commands that change or delete something and ask for confirmation also take:
| Flag | Description |
|---|---|
-n, --dry-run | Print what would change and stop. |
-y, --yes | Answer yes to the confirmation. The summary still prints. |
--keep-going | Go on after a step fails. |
With no terminal and no -y, a confirmation prompt is a usage error.
Exit codes
| Code | Meaning |
|---|---|
0 | Success. |
1 | Failure: server fault, refused change, 409, 501, 503, ambiguous name, or 403 FeatureDisabled. |
2 | Usage error, or any other 400. |
3 | Not found. |
4 | Not signed in (401), or 403 Forbidden. |
5 | This tritonctl is newer than the cloud it talks to (ApiVersionUnsupported). Install the tritonctl release that matches the cloud. |
exec, exec-attach, git, and claude exit with the guest program's
status, or 128 plus the signal number. Errors print on stderr as
tritonctl <COMMAND>: error (<CODE>): <MESSAGE>, sometimes with a hint line.
Feature gates
An operator turns gated features on per tenant. A refused call answers
403 FeatureDisabled and names the feature. tritonctl sandbox capability
shows the same decisions.
| Gate | Default | Commands it can refuse |
|---|---|---|
memory | Off | pause; snapshot create --kind memory; fork --kind memory; fork of a parent whose deadline action is pause; create or update with --on-deadline pause. resume is never gated. |
fork | On | fork |
desktop | Off | rdp; create from the desktop template; fork of a desktop sandbox |
egress_domains | Off | Domain flags, --net, and --repo on create and network replace; fork of a parent with domain rules |
code_interpreter | On | create --template code-interpreter |
ports | On | port-forward, ssh-config |
preview | On | ports open, url. ports close is never gated. Previews also need a preview domain, and Triton Cloud has none yet. |
preview_public | Off | ports open --public |
templates_from_image | On | template build --image |
templates_from_dockerfile | Off | template build --dockerfile |
templates_from_snapshot | On | template build --from-snapshot |
With no preview domain, tritonctl sandbox capability lists ports as refused, and
port-forward keeps working. The ports gate, not the preview domain, decides
port-forward.
tritonctl sandbox list
tritonctl sandbox list [--state <STATE>] [--label <KEY[=VALUE]>]
Lists the sandboxes in the project. Needs a project. Calls GET /v1/sandboxes.
| Flag | Description |
|---|---|
--state <STATE> | Only sandboxes in this state. See States. |
--label <KEY[=VALUE]> | Only sandboxes with this label, as key or key=value. |
Default columns: shortid, name, state, template, package,
deadline, age. With -l: id, name, state, template, package,
isolation, cpu, memory, disk, deadline, created_at. Sorted by
created_at.
tritonctl sandbox show
tritonctl sandbox show <SANDBOX>
Shows one sandbox. Calls GET /v1/sandboxes/{sandbox}.
tritonctl sandbox create
tritonctl sandbox create [OPTIONS] [-- <ARGV>...]
Creates a sandbox and waits until it runs. Needs a project. Calls
POST /v1/sandboxes, then polls the sandbox for up to 10 minutes. Fails if
the sandbox ends failed, deleting, deleted, stopped, or paused.
| Flag | Default | Description |
|---|---|---|
--name <NAME> | Server-made | Sandbox name. A DNS label, unique in the project. |
--template <TEMPLATE> | base | Template, as name, name:tag, or name:<BUILD_ID>. |
--isolation <ISOLATION> | The template's | Isolation tier. microvm is the only tier. |
--package <PACKAGE> | The cloud's default | Sandbox package that sets the size, for example sandbox-2g, sandbox-4g, or sandbox-8g. |
--subnet <SUBNET> | The project's only subnet | Subnet to join, by name or UUID. |
--env <KEY=VALUE> | None | Environment variable for the first process. Repeatable. Values are never shown again. |
--label <KEY=VALUE> | None | Label. Repeatable. |
--metadata <KEY=VALUE> | None | Metadata entry. Repeatable. |
--ttl <DURATION> | The cloud's default, 1 hour unless an operator changes it | Time from creation to the deadline. Zero is refused. At most the cloud's maximum, 24 hours unless an operator changes it. |
--idle-timeout <DURATION> | Off | Time without activity before --on-deadline applies. 0 turns it off. |
--on-deadline <ACTION> | delete | delete, stop, or pause. |
--allow-out <CIDR> | None | Destination the sandbox may reach. Repeatable. |
--deny-out <CIDR> | None | Destination the sandbox may not reach. Repeatable. |
--allow-in <CIDR> | None | Source that may reach the sandbox. Repeatable. |
--allow-out-domain <NAME> | None | Name the sandbox may reach over HTTP and HTTPS. *.example.com covers names below it, not example.com. Repeatable. |
--deny-out-domain <NAME> | None | Name the sandbox may not reach. Repeatable. |
--network <FILE> | None | The whole policy as a JSON file, or - for stdin. Conflicts with the list flags. |
--net <PRESET> | None | Add a named set of allowed names. github covers GitHub, its API, and the hosts that serve its files. |
--repo <REPO> | None | GitHub repository to clone into /work/<NAME> once the sandbox runs, as owner/name or a URL. Adds the github preset. |
--branch <BRANCH> | Repository default | Branch to clone. Requires --repo. |
--github-token-env <VAR> | gh auth token | Local environment variable that holds the GitHub token. |
--cwd <CWD> | The template's | Working directory of the first process. |
--user <USER> | The template's | Guest user of the first process. |
--no-wait | Off | Print the sandbox when the server accepts it. Conflicts with --repo. |
-- <ARGV>... | The template's | First process and its arguments. |
Sizes as numbers are refused. The error names the packages you can use.
The create sends auto_resume off. No flag turns it on; only the SDKs set it.
A tenant holds at most 32 sandboxes and creates at most 60 a minute, unless an
operator changes these limits. Past them, the create answers 403 QuotaExceeded or 429 TooManyRequests.
tritonctl sandbox update
tritonctl sandbox update <SANDBOX> [OPTIONS]
Changes the lifetime, labels, or metadata. Calls
PATCH /v1/sandboxes/{sandbox}. Lifetime flags you leave out keep their
value, but any lifetime flag resets the deadline to the creation time plus the
TTL. On a sandbox past its original TTL, that makes it due at once. At least one flag is required.
| Flag | Description |
|---|---|
--ttl <DURATION> | New time from creation to the deadline. |
--idle-timeout <DURATION> | New idle timeout. 0 turns it off. |
--on-deadline <ACTION> | delete, stop, or pause. |
--label <KEY=VALUE> | Replaces every label. Repeatable. |
--clear-labels | Removes every label. Conflicts with --label. |
--metadata <KEY=VALUE> | Replaces every metadata entry. Repeatable. |
tritonctl sandbox delete
tritonctl sandbox delete <SANDBOX> [-n] [-y] [--keep-going]
Deletes a sandbox and its snapshots. Asks for confirmation. Calls
DELETE /v1/sandboxes/{sandbox}.
tritonctl sandbox keepalive
tritonctl sandbox keepalive <SANDBOX> --ttl <DURATION>
Moves the deadline to --ttl from now. Calls PATCH /v1/sandboxes/{sandbox}.
The deadline never moves earlier: if it would, the command sends nothing and
prints the sandbox.
tritonctl sandbox stop
tritonctl sandbox stop <SANDBOX> [--force]
Stops a sandbox and keeps its disk. Memory is not kept. Calls
POST /v1/sandboxes/{sandbox}/stop.
| Flag | Description |
|---|---|
--force | Halt the guest instead of asking it to shut down. |
tritonctl sandbox start
tritonctl sandbox start <SANDBOX> [--no-wait]
Starts a stopped sandbox with its disk, and waits until it runs. Calls
POST /v1/sandboxes/{sandbox}/start.
| Flag | Description |
|---|---|
--no-wait | Print the sandbox when the server accepts the start. |
tritonctl sandbox pause
tritonctl sandbox pause <SANDBOX>
Saves memory and disk and halts the sandbox. A resume continues every
process. Calls POST /v1/sandboxes/{sandbox}/pause with wait_ms 120000.
The global --timeout defaults to 60 seconds, so a long pause can outlast the
request; --timeout 0 waits without a limit. A pause that times out goes on,
and sandbox show reports its state. Gate: memory.
Pausing a sandbox that is already pausing or paused succeeds and changes
nothing. Any other sandbox that is not running answers 409 SandboxNotRunning. A desktop
sandbox, or one on a compute node that cannot save memory, answers 400 PersistModeUnsupported.
tritonctl sandbox resume
tritonctl sandbox resume <SANDBOX> [--ttl <SECONDS>]
Continues a paused sandbox and waits until it runs. Calls
POST /v1/sandboxes/{sandbox}/resume with wait_ms 120000, under the same
60-second default --timeout as pause. Not gated. The deadline becomes now
plus the longer of --ttl and the sandbox's TTL.
| Flag | Description |
|---|---|
--ttl <SECONDS> | Seconds from now to the new deadline, as a whole number. Used only when it is longer than the sandbox's TTL. |
tritonctl sandbox resize
tritonctl sandbox resize <SANDBOX> --package <PACKAGE>
Moves a stopped sandbox to another sandbox package. The disk never shrinks.
Calls POST /v1/sandboxes/{sandbox}/resize.
tritonctl sandbox fork
tritonctl sandbox fork <SANDBOX> [OPTIONS]
Makes new sandboxes from a copy of this one, on the same compute node. Each
child gets its own address. The parent must be running or stopped. Calls
POST /v1/sandboxes/{sandbox}/fork, then waits for every child. Exits 1
and names each child that did not start. Gate: fork.
| Flag | Default | Description |
|---|---|---|
--count <COUNT> | 1 | Number of children, 1 to 20. |
--name-prefix <PREFIX> | None | Children are named <PREFIX>-1, <PREFIX>-2, and so on. Without it, each is named sb-<HEX>. |
--ttl <DURATION> | Parent's remaining time | Time to each child's deadline. |
--kind <KIND> | filesystem | filesystem or memory. memory needs the memory gate. |
--from-snapshot <SNAPSHOT> | None | Clone from this snapshot, by name or UUID. Conflicts with --kind. |
--label <KEY=VALUE> | None | Label for each child. Repeatable. |
--no-wait | Off | Print the children when the server accepts them. |
Without --from-snapshot, the fork takes a snapshot named fork-<HEX>, which
stays on the parent and counts toward its limit of 16 snapshots.
tritonctl sandbox snapshot
tritonctl sandbox snapshot create <SANDBOX> [--name <NAME>] [--kind <KIND>]
tritonctl sandbox snapshot list <SANDBOX>
tritonctl sandbox snapshot show <SANDBOX> <SNAPSHOT>
tritonctl sandbox snapshot delete <SANDBOX> <SNAPSHOT> [-n] [-y] [--keep-going]
| Command | Description |
|---|---|
create | Takes a snapshot. A running guest's filesystem is frozen for a moment. --name defaults to a server-made name. --kind is filesystem (default) or memory, which needs the memory gate. Calls POST /v1/sandboxes/{sandbox}/snapshots. |
list | Lists the sandbox's snapshots. Calls GET /v1/sandboxes/{sandbox}/snapshots. |
show | Shows one snapshot, by name or UUID. |
delete | Deletes a snapshot. Refused while a sandbox forked from it exists. |
tritonctl sandbox exec
tritonctl sandbox exec <SANDBOX> [OPTIONS] [-- <ARGV>...]
Runs a program and streams its output. Calls
POST /v1/sandboxes/{sandbox}/execs, then streams
GET /v1/sandboxes/{sandbox}/execs/{exec}/stream.
The first Ctrl-C sends SIGINT to the program. The second sends SIGKILL.
The third leaves at once with exit status 130. The sandbox keeps running.
| Flag | Description |
|---|---|
--cmd <LINE> | Shell line, run as /bin/sh -lc <LINE>. Conflicts with <ARGV>. |
--cwd <CWD> | Working directory in the guest. |
--user <USER> | Guest user. |
--env <KEY=VALUE> | Environment variable. Repeatable. |
--tag <TAG> | Name to find the exec by later. |
--max-duration <DURATION> | Kill the program after this long. |
-t, --tty | Give the program a terminal, in raw mode. ~. at the start of a line detaches and leaves the program running. Needs a terminal. |
-i, --stdin | Send local stdin to the program. Without it, the program's input is empty. |
-q, --quiet | Print only the program's output. |
The summary line on stderr gives the exit code and the stdout and stderr byte
counts. The byte counts are the offsets for exec-attach.
tritonctl sandbox exec-attach
tritonctl sandbox exec-attach <SANDBOX> <EXEC> [OPTIONS]
Attaches again to a program started with exec. <EXEC> is the exec ID or
its tag.
| Flag | Default | Description |
|---|---|---|
--since-stdout <OFFSET> | 0 | Replay stdout from this byte offset. |
--since-stderr <OFFSET> | 0 | Replay stderr from this byte offset. |
--since-pty <OFFSET> | 0 | With --tty, replay the terminal stream from this offset. |
-t, --tty, -i, --stdin, -q, --quiet | Off | As on exec. |
tritonctl sandbox claude
tritonctl sandbox claude [OPTIONS] [-- <CLAUDE_ARGS>...]
Runs Claude Code in a sandbox, on this terminal. Uses the sandbox named
claude, made on first use. The sandbox may reach the Anthropic API and
nothing else. Each of ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, and
CLAUDE_CODE_OAUTH_TOKEN that is set locally is forwarded, and goes only
into the environment of the claude process. At least one must be set. ~. at the start of a line
detaches.
| Flag | Description |
|---|---|
--sandbox <SANDBOX> | Sandbox to use. |
--new | Make a new sandbox, named by --sandbox when given. |
--subnet <SUBNET> | Subnet for a new sandbox. Needed when the project has more than one. |
--repo <REPO> | GitHub repository to work on. The sandbox is named claude-<NAME>. |
--branch <BRANCH> | Branch to clone. Requires --repo. |
--github-token-env <VAR> | Local environment variable that holds the GitHub token. |
-- <CLAUDE_ARGS>... | Arguments for claude. |
With --repo, the clone runs first while the sandbox may reach GitHub and
not the Anthropic API. GitHub is then closed and claude starts in the
checkout. claude never gets the GitHub token, so a push from that sandbox is
refused.
tritonctl sandbox git
tritonctl sandbox git <SANDBOX> [OPTIONS] -- <GIT_ARGS>...
Runs git in the sandbox's checkout. clone, fetch, push, and ls-remote
get the GitHub token in the environment of that one exec, with hooks off.
Other subcommands get no token. For a pull, run fetch, then merge.
| Flag | Description |
|---|---|
--repo-dir <DIR> | Repository directory in the guest. Defaults to the only clone under /work. |
--github-token-env <VAR> | Local environment variable that holds the token. Defaults to gh auth token. |
tritonctl sandbox pr
tritonctl sandbox pr <SANDBOX> [OPTIONS]
Pushes the checkout's branch to origin and opens a GitHub pull request from
your workstation. Prints the pull request URL.
| Flag | Default | Description |
|---|---|---|
--repo-dir <DIR> | The only clone | Repository directory in the guest. |
--title <TITLE> | Last commit's subject | Pull request title. |
--body <BODY> | Empty | Pull request description. |
--base <BRANCH> | Repository default | Branch to merge into. |
--draft | Off | Open as a draft. |
--github-token-env <VAR> | gh auth token | Local environment variable that holds the token. |
tritonctl sandbox ssh-config
tritonctl sandbox ssh-config <SANDBOX> [--install]
Prints an ssh_config entry that reaches the sandbox over its tunnel. Makes a
key pair for the sandbox on your workstation, adds the public key to the
guest's sandbox account, starts sshd on the guest's loopback address, and
pins its host key. The host name is <NAME>.sandbox.triton. The entry's
ProxyCommand is tritonctl sandbox port-forward --stdio. Gate: ports.
| Flag | Description |
|---|---|
--install | Write the entry to ~/.ssh/tritonctl/<NAME>.sandbox.triton.conf and add Include tritonctl/*.conf as the first line of ~/.ssh/config. |
The guest setup exits 40 when the image has no /usr/sbin/sshd, 41 when
there is no sandbox account, and 42 when sshd does not start.
tritonctl sandbox fs
tritonctl sandbox fs put <SANDBOX> <LOCAL> <PATH> [--mode <MODE>] [--user <USER>]
tritonctl sandbox fs get <SANDBOX> <PATH> [<LOCAL>] [--user <USER>]
tritonctl sandbox fs cat <SANDBOX> <PATH> [--user <USER>]
tritonctl sandbox fs mv <SANDBOX> <SOURCE> <DESTINATION> [--user <USER>]
tritonctl sandbox fs mkdir <SANDBOX> <PATH> [--mode <MODE>] [--user <USER>]
tritonctl sandbox fs ls <SANDBOX> <PATH>
tritonctl sandbox fs stat <SANDBOX> <PATH>
tritonctl sandbox fs rm <SANDBOX> <PATH> [-r]
tritonctl sandbox fs watch <SANDBOX> <PATH> [-r]
| Command | Description |
|---|---|
put | Copies a local file, or - for stdin, into the sandbox. --mode is octal, for example 644. --user owns the file. |
get | Copies a file out. Writes to stdout when <LOCAL> is omitted or -. |
cat | Prints a file to stdout. |
mv | Moves a path. An existing destination is replaced. |
mkdir | Makes a directory and any missing parents. --mode is octal, for example 755. |
ls | Lists a directory. Columns: mode, size, mtime, name. With -l, also owner and group. |
stat | Shows one path. |
rm | Removes a path, with no prompt. -r, --recursive removes a directory and its contents. |
watch | Prints <SEQ>, <TYPE>, and <PATH> for each change until interrupted. -r, --recursive watches every directory below. |
--user on get, cat, and mv is the guest user to act as.
tritonctl sandbox ports
tritonctl sandbox ports ls <SANDBOX>
tritonctl sandbox ports open <SANDBOX> <PORT> [--public]
tritonctl sandbox ports close <SANDBOX> <PORT>
Sets whether a port's preview URL needs the preview token. A port with no
settings is private. <PORT> is 1 to 65535.
| Command | Description |
|---|---|
ls | Lists the ports that have their own settings. |
open | Sets a port's settings. With --public, anyone can reach the port's preview URL without the token. Gate: preview, plus preview_public for --public. |
close | Drops a port's settings, which makes it private again. Not gated. |
tritonctl sandbox port-forward
tritonctl sandbox port-forward <SANDBOX> <PORT> [--local <LOCAL>] [--bind <BIND>]
tritonctl sandbox port-forward <SANDBOX> <PORT> --stdio
Forwards a local TCP port to a port in the sandbox. Each local connection
opens its own tunnel through GET /v1/sandboxes/{sandbox}/ports/{port}/tunnel.
Ctrl-C stops listening. Gate: ports.
| Flag | Default | Description |
|---|---|---|
--local <LOCAL> | The guest port | Local port to listen on. |
--bind <BIND> | 127.0.0.1 | Local address to listen on. Anyone who can reach it can reach the guest port. |
--stdio | Off | Carry one connection on stdin and stdout, for an SSH ProxyCommand. Conflicts with --local and --bind. |
tritonctl sandbox url
tritonctl sandbox url <SANDBOX> <PORT> [--no-token]
Prints the preview URL of a guest port. For a private port the URL carries
the preview token once, as ?triton_token=. Treat the URL as a secret. On a
cloud with no preview domain, the command is a usage error.
Previews are not enabled on Triton Cloud yet. With previews off, url and
ports open stop with this message:
previews are not enabled on this cloud; use port-forward (the `preview` sandbox feature is off)
ports open gets it as 403 FeatureDisabled, and tritonctl adds this hint line:
`tritonctl sandbox port-forward <sandbox> <port>` reaches the port from this machine instead
Use port-forward instead.
| Flag | Description |
|---|---|
--no-token | Print the URL without the token. |
tritonctl sandbox network
tritonctl sandbox network show <SANDBOX>
tritonctl sandbox network replace <SANDBOX> [POLICY FLAGS] [-n] [-y] [--keep-going]
| Command | Description |
|---|---|
show | Shows the policy in force. Calls GET /v1/sandboxes/{sandbox}/network. |
replace | Replaces the whole policy. A list you leave out is cleared, so the command asks first. Takes --allow-out, --deny-out, --allow-in, --allow-out-domain, --deny-out-domain, and --network, as on create. Calls PUT /v1/sandboxes/{sandbox}/network. |
tritonctl sandbox capability
tritonctl sandbox capability
Shows what this cloud offers sandboxes, and its limits. Each feature is
available or refused, with a reason. Features gated off for you show as
refused. Calls GET /v1/sandbox-capabilities.
tritonctl sandbox rdp
tritonctl sandbox rdp <SANDBOX> [--local <LOCAL>] [--bind <BIND>]
Opens a sandbox's desktop over RDP on a local port, until interrupted. Prints
the user, the sandbox's RDP password, and an xfreerdp line on stdout, and the
certificate SHA-256 fingerprint on stderr. The password is generated once per
sandbox, so every call prints the same one. Gate: desktop.
| Flag | Default | Description |
|---|---|---|
--local <LOCAL> | 13389 | Local port to listen on. |
--bind <BIND> | 127.0.0.1 | Local address to listen on. Anyone who can reach it can try the login. |
tritonctl sandbox template
tritonctl sandbox template list [--builtin <BOOL>]
tritonctl sandbox template show <TEMPLATE>
tritonctl sandbox template build <NAME> (--image <REF> | --dockerfile <FILE> | --from-snapshot <SANDBOX/SNAPSHOT>) [OPTIONS] [-- <START>...]
tritonctl sandbox template logs <TEMPLATE> <BUILD> [--follow] [--since <SEQ>]
tritonctl sandbox template delete <TEMPLATE> [-n] [-y] [--keep-going]
tritonctl sandbox template tag <TEMPLATE> <TAG> <BUILD>
tritonctl sandbox template untag <TEMPLATE> <TAG>
<TEMPLATE> is a template name or UUID. <BUILD> is a build UUID.
| Command | Description |
|---|---|
list | Lists templates, built-in ones included. --builtin true shows only built-in templates, false only yours. |
show | Shows a template, then a table of its builds. |
build | Starts a build, and makes the template if it is new. A name in use gets a new build. Exits non-zero when the build fails. |
logs | Prints one build's log. --follow keeps printing until the build ends. --since prints lines after this sequence number (default 0). |
delete | Deletes a template and every build of it. |
tag | Points a tag at a build. |
untag | Removes a tag. The build stays. |
template build takes exactly one source, plus these flags:
| Flag | Description |
|---|---|
--image <REF> | OCI image reference, for example docker.io/library/python:3.12. Gate: templates_from_image. |
--dockerfile <FILE> | Dockerfile to build. Gate: templates_from_dockerfile. |
--context <DIR> | Build context for --dockerfile, sent as a tar of at most 1 MiB. Empty when omitted. |
--build-arg <KEY=VALUE> | Dockerfile build argument. Repeatable. |
--from-snapshot <SANDBOX/SNAPSHOT> | Snapshot of one of your sandboxes. No build runs. Gate: templates_from_snapshot. |
--registry-user <USER> | User name for a private registry. Requires --registry-password-stdin. |
--registry-password-stdin | Read the registry password or token from stdin. |
--tag <TAG> | Tag to point at the build once it is ready. Default default. |
--description <TEXT> | Template description. |
--cpu <N>, --memory-mib <MIB>, --disk-gib <GIB> | Size defaults stored with the build. A sandbox's size comes from its package, not from these. |
--env <KEY=VALUE> | Environment variable for sandboxes made from the build. Repeatable. |
--ready-port <PORT> | The sandbox counts as running once this port takes a TCP connection. Conflicts with --ready-cmd. |
--ready-cmd <LINE> | The sandbox counts as running once this shell line exits 0. |
--wait | Wait until the build is ready or failed, then print it. |
--follow | Print the build log on stderr until the build ends. |
-- <START>... | Start command and its arguments. |
Only amd64 images build.
States
The state column shows these values: starting, running, stopping,
stopped, pausing, paused, resuming, resizing, deleting, failed,
and unknown. A create starts at starting. --state also accepts
pending, placing, forking, snapshotting, and deleted, which no
sandbox reports. For what each one means, see
How sandboxes work.
Generated enum values
--state, --isolation, --on-deadline, and --kind take their values from
the API client, which adds unknown for a value it does not know. Each of
these flags accepts unknown and lists it in --help. It names no real
value, and the server refuses it where it matters, for example
--on-deadline unknown.
tritonctl llms.txt
tritonctl llms.txt
tritonctl llms-full.txt
llms.txt prints a guide for coding agents and an index of every command.
llms-full.txt prints the same guide and every flag of every command. Both
are made from the binary's own command definitions, so they match the
installed version. Neither needs a session.