Skip to main content

Sessions and limits

Lifecycle​

EventTriggerEffect
Loginsim-remote loginThe server checks the API key and returns a session token. The daemon holds the token in memory
Acquirelogin without --no-acquire, or acquireThe server reserves a free machine of your team for the session
Attachattach <MACHINE_ID>The session points at a machine that you already hold. Open tunnels close
ReleasereleaseThe machine returns to your team. The session stays logged in
Logoutlogout or daemon stopThe machine returns to your team and the daemon forgets the token
Idle releaseNo command for the idle timeoutThe daemon releases the machine on its own. The session stays logged in
Lifetime capThe machine is held for the maximum lifetimeThe server releases the machine

When a machine returns to your team, Argent Cloud revokes the credentials of the session, closes the live connections, erases the simulators, and rebuilds the session volume from a clean image.

Limits​

LimitValueNotes
Idle release900 seconds (15 minutes)Set SIM_REMOTE_IDLE_TIMEOUT_SECS to change it. The server has its own idle limit of 16 minutes
Maximum time on one machine24 hoursEnforced by the server
Session token24 hoursRun sim-remote login again after it expires
Wait for a free machine1800 seconds by default, 3600 seconds maximum--timeout sets the client value. The server caps it
Upload size1 GiBApplies to every file that sim-remote uploads
Machines per userMore than oneEach acquire reserves one more machine

The daemon​

sim-remote runs a small background daemon on your computer. The daemon holds the session token, sends a heartbeat to the server every 60 seconds, and owns the tunnels. Any command that needs a session starts the daemon. The daemon is the same binary as the CLI.

ItemValue
Socket$HOME/.sim-remote-daemon.sock, or $HOME/.sim-remote-daemon-<NAME>.sock for a named session
Idle checkEvery 60 seconds
Stopsim-remote daemon stop. This releases the machine and ends the session
Version mismatchAfter an update, the old daemon refuses the new client. Run sim-remote daemon stop and log in again

The daemon keeps the session token in memory. sim-remote writes no session token, API key or configuration file to disk. The log files below are the only files that sim-remote writes.

Several sessions on one computer​

One daemon holds one session. Set SIM_REMOTE_SESSION to a name to run several sessions on one computer, each with its own daemon.

export SIM_REMOTE_SESSION=agent-1
sim-remote login

All sim-remote commands that run with the same value share one session. A different value is a different session. Commands that run without the variable use the default session.

RuleValue
CharactersLowercase letters, digits, ., _ and -. No leading .
Length1 to 32 characters
Socket$HOME/.sim-remote-daemon-<NAME>.sock
Log filesim-remote-daemon-<NAME>
Scopedaemon stop and logout act only on the daemon of the named session

Every process reads the variable from its own environment. Set SIM_REMOTE_SESSION in the shell or agent that runs the commands. Every shim and tool that it starts inherits the same value.

Log files​

sim-remote writes its log to a file and echoes only errors to stderr.

PlatformDirectory
macOS~/Library/Logs/radon/
Linux$XDG_STATE_HOME/radon/logs, or ~/.local/state/radon/logs

sim-remote rotates the log file daily and keeps 7 days. Set RUST_LOG to change the filter. The daemon of a named session writes to sim-remote-daemon-<NAME>.