ReferenceInteractive Access
RuntimesServicesInteractive Access
v1.16+

Polyaxon service runs can expose interactive development capabilities through three independent plugins:

PluginPrimary useCLI entry point
plugins.tmuxReconnectable UI and polyaxon ops shell sessionspolyaxon ops shell
plugins.sandboxProgrammatic exec, background commands, filesystem, and PTY accesspolyaxon sandbox ...
plugins.sshNative SSH clients, IDEs, SFTP, SCP, and rsync when the image includes itpolyaxon ssh ...

plugins.sandbox and plugins.ssh are supported on kind: service runs in this version. plugins.tmux does not require a service port and can be used for reconnectable shell sessions.

Enable plugins

kind: component
version: 1.1
name: dev-service

plugins:
  tmux: true
  sandbox: true
  ssh: true

run:
  kind: service
  container:
    image: python:3.11
    command: ["sleep", "infinity"]

Use only the plugins required by the workflow. For example, a browser shell only needs tmux; SDK-driven execution needs sandbox; IDE access needs ssh.

Reconnectable shell

plugins.tmux ships a static tmux binary into the user container. When enabled, the UI shell and CLI shell attach to a persistent terminal session:

polyaxon ops shell -p owner/project -uid <run-uuid>

If the browser, websocket, or local terminal disconnects, reconnecting opens the same tmux session.

Sandbox commands

plugins.sandbox enables sandbox health checks, command execution, background process logs, file transfer, and PTY sessions:

polyaxon sandbox ping -p owner/project -uid <run-uuid>
polyaxon sandbox exec -p owner/project -uid <run-uuid> -- python -V
polyaxon sandbox exec -p owner/project -uid <run-uuid> --stream -- sh -lc 'echo ok'
polyaxon sandbox upload -p owner/project -uid <run-uuid> ./local.txt /tmp/local.txt
polyaxon sandbox download -p owner/project -uid <run-uuid> /tmp/local.txt ./downloaded.txt
polyaxon sandbox shell -p owner/project -uid <run-uuid>

For detached commands, keep the returned execution id and read logs later:

EXEC_ID=$(polyaxon sandbox exec -p owner/project -uid <run-uuid> --detach -- sh -lc 'python train.py')
polyaxon sandbox logs -p owner/project -uid <run-uuid> "$EXEC_ID"

SSH access

plugins.ssh starts an SSH daemon in the service container and lets local SSH tooling connect through Polyaxon:

polyaxon ssh setup -p owner/project -uid <run-uuid>
polyaxon ssh connect -p owner/project -uid <run-uuid>

To use a standard SSH client or an IDE, print an SSH config block and add it to your SSH config:

polyaxon ssh config -p owner/project -uid <run-uuid>
ssh polyaxon-<run-uuid>

The SSH command supports regular SSH options after --:

polyaxon ssh connect -p owner/project -uid <run-uuid> -- -L 8888:127.0.0.1:8888 -N