--wait when you want the CLI to poll
the returned operation until it succeeds, fails, or is cancelled.
Inspect your instances
get shows normalized state, accelerator, region, price, storage, and lifecycle
capabilities. It intentionally omits provider resource IDs and placement IDs.
Use capability flags instead of assuming every future backend supports the same
actions.
Connect over SSH or HTTP
- AI Reserve stores public SSH keys, never private keys.
- Public HTTP applications must implement their own authentication.
- The normalized connection response does not expose raw provider connection objects.
Stream workload logs
The normalized REST API exposes a transient server-sent event stream:retry: hint and closes the connection cleanly; the
pod and its logs are unaffected. Reconnect with the Last-Event-ID header set
to the last id: you received and the stream resumes from that point.
The aireserve gpu instances logs --follow CLI mode implements this
reconnect contract for you, as does the Python SDK’s instances.logs(...)
iterator (aireserve-sdk 0.8.1 and later). The TypeScript SDK does not yet
expose a GPU logs helper, so there use the REST stream and implement the
reconnect loop in your client. An event: error frame is sent only when the
provider stream itself fails. Any client must preserve Last-Event-ID; do not
treat a normal 270-second close as workload failure.
Stop and start
- releases GPU compute;
- stops compute accrual after the stop is confirmed;
- destroys the ephemeral root disk on the current backend;
- keeps an attached persistent volume and its storage billing;
- does not reserve GPU capacity for the next start.
capabilities.start, capabilities.stop, and
capabilities.stopPreservesRootDisk fields before automating lifecycle actions.
Recover an instance that stopped on its own
An instance that was running and then leftrunning without a stop from you
(the container exited, the provider reported an error) stays where the
provider put it. By default AI Reserve leaves it for you: status reads
stopped or failed, desiredState stays running, and nothing is billed
for a released accelerator.
Opt into automatic recovery per instance:
mode: restart, the next health pass restarts the container in place
when the machine is still allocated, or starts the instance again on the same
hardware when it was released, up to maxAttempts times per unhealthy
episode and no more often than every cooldownMinutes. Recovery never
relaunches on different hardware, never re-quotes, and never changes the
locked rate. The episode counter resets once the instance is observed running
again.
Read where it stands on the instance:
Make one attempt now, regardless of the cooldown and the cap:
409 operation_conflict when the
instance is running, was never admitted, or another operation is in flight.
Turn automatic recovery off with --mode none.
Terminate
Resume after a process restart
Save the operation ID when your process may exit before a mutation completes. Operations, pricing, and errors shows how to retrieve and resume it. Resource and action labels currently retain some legacypod terminology; treat the operation ID and status as the stable
integration points.