Skip to main content
Instance mutations are asynchronous. Add --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

Connections are available after the instance is running. The response contains a structured SSH command when SSH was configured and public HTTP URLs for any HTTP ports requested at launch.
  • 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:
or directly:
Each event contains a timestamp, source, and line. AI Reserve relays active workload output and does not maintain a workload-log archive. A single stream response lasts at most 270 seconds. When that window ends the relay sends a standard SSE 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

Stopping an instance:
  • 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.
A later start can fail when compatible capacity is unavailable. Check the instance’s 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 left running 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:
With 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:
It counts toward the episode and answers 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

Termination is irreversible. It releases the accelerator and destroys the root disk. An attached persistent volume survives, remains attached in the resource model until termination completes, and continues billing until you delete it.

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 legacy pod terminology; treat the operation ID and status as the stable integration points.