Get desktop application:
View/edit binary Protocol Buffers messages
(message has no fields)
Create an additional container for a task.
Logical container name.
Secret IDs to inject into the container as environment variables.
Volumes to mount into the container.
Outbound network policy for the sidecar, independent of the main container. When unset, defaults to open network access. BLOCKED is not accepted: a blocked sidecar has no IP and cannot reach the main container.
Fully qualified container ID (for example, ctr-<ulid>).
Logical container name associated with this container.
Get the latest container associated with a logical name.
Include the latest terminated container if the name is no longer active.
List containers associated with the task.
Include all tracked terminated containers in addition to active ones.
Terminate or release a tracked container.
(message has no fields)
Wait for a tracked container to reach a terminal result.
Poll for the exit status of an exec'd command.
The ID of the task running the exec'd command.
The execution ID of the command to wait on.
The response to a TaskExecPollRequest. If the exec'd command has not completed, exit_status will be unset.
The exit code of the command.
The signal that terminated the command.
Execute a command in the task.
The ID of the task to execute the command in.
Execution ID. This ID will be used to identify the execution for other requests and ensure exec commands are idempotent.
Command arguments to execute.
Configures how the stdout of the command will be handled.
Configures how the stderr of the command will be handled.
Timeout in seconds for the exec'd command to exit. If the command does not exit within this duration, the command will be killed. This is NOT the timeout for the ExecStartRequest RPC to complete.
Working directory for the command.
Secret IDs to mount into the task.
PTY info for the command.
Enable debugging capabilities on the container runtime. Used only for internal debugging.
Fully qualified target container ID. Empty targets the main container.
Environment variables to set directly for the exec'd command.
(message has no fields)
Get the current stdin write status for an exec'd command. Used to resume a TaskExecStdinWriteStream after a stream failure. Evicts any in-flight TaskExecStdinWriteStream for this exec, so it is not safe to call for read-only observability.
The ID of the task running the exec'd command.
The execution ID of the command to query.
Number of bytes the server has accepted for this exec so far. A streaming client that lost its connection should resume sending at this offset.
True if stdin has already been closed (EOF sent) for this exec.
Write to the stdin stream of an exec'd command.
The ID of the task running the exec'd command.
The execution ID of the command to write to.
The offset to start writing to. This is used to resume writing from the last write position if the connection is closed and reopened.
If true, close the stdin stream after writing any provided data. This signals EOF to the exec'd process.
(message has no fields)
Stream stdin bytes to an exec'd command. First message carries the start message (task_id, exec_id, offset); subsequent messages carry data.
First message must be `start`; subsequent messages are `data`; a final `end` signals EOF.
Start of a stdin write stream. Includes task_id, exec_id, and offset to write to.
A chunk of stdin data to write to the exec'd command.
Signals EOF: close stdin after the data sent so far.
(message has no fields)
Get a stream of output from the stdout or stderr stream of an exec'd command.
The ID of the task running the exec'd command.
The execution ID of the command to read from.
The offset to start reading from. This is used to resume reading from the last read position if the connection is closed and reopened.
Which file descriptor to read from.
The data read from the file descriptor.
Wait for an exec'd command to exit and return the exit code.
The ID of the task running the exec'd command.
The execution ID of the command to wait on.
The exit code of the command.
The signal that terminated the command.
Mount an image at a directory in the container.
Customer-supplied encryption key used to decrypt CSEK-encrypted image metadata keys. This key is not persisted by Modal.
Reload all Volumes mounted in the task to reflect their latest committed state.
Fully qualified target container ID. Empty targets the main container.
(message has no fields)
Replace the task's outbound network allowlist (domains + CIDRs).
Replaces the task's network access policy. Only ALLOWLIST is currently supported; open access is expressed as an allow-all allowlist.
(message has no fields)
Snapshot a directory with a mounted image, including any local changes, into a new image.
A unique ID to ensure idempotency of directory snapshot requests.
Lifetime for the resulting image, in seconds. When set, the image's expires_at is a hard cutoff: it is fixed at creation time and is not extended on use. When unset, the resulting image gets the legacy retention policy: a 30-day TTL that is bumped forward by 30 days on every use, so active images effectively never expire. Sentinel: -1 means "no expiry" (the image never expires). 0 and other negative values are invalid and rejected by the server.
Customer-supplied encryption key used to encrypt the resulting image's data and tree metadata keys. This key is not persisted by Modal.
Snapshot the full task filesystem into a new image.
A unique ID to ensure idempotency of filesystem snapshot requests.
Lifetime for the resulting image, in seconds. Must be set. When positive, the image expiry is a hard cutoff: it is fixed at creation time and is not extended on use. Sentinel: -1 means "no expiry" (the image never expires). 0 and other negative values are invalid and rejected by the server.
Customer-supplied encryption key used to encrypt the resulting image's data and tree metadata keys. This key is not persisted by Modal.
Take a memory snapshot of the task's sandbox container. Idempotency is keyed on the request idempotency_key: concurrent and repeated calls with the same key share one snapshot attempt. A successful snapshot currently terminates the container.
Unmount an image previously mounted at a directory in the container.
Used in:
Used in: ,
Used in:
The output will be discarded.
The output will be streamed to the client.
A special value that can be used to indicate that the stderr stream should be merged with the stdout stream.
Used in:
(message has no fields)
Used in:
The ID of the task running the exec'd command.
The execution ID of the command to write to.
The byte offset at which the stream begins. Will be 0 unless resuming a broken stream.
Used in:
Read from stdout.
Read from stderr.
Used in:
The output will be discarded.
The output will be streamed to the client.