Skip to content

octaspace/octa-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OctaSpace CLI

Release Build

Command-line interface for the OctaSpace decentralized compute platform.

Installation

Download the latest binary for your platform from the releases page and place it in your PATH.

Authentication

Before using any commands, authenticate with your API token:

octa auth <token>

The token is saved to ~/.config/octa/config.yaml and used automatically for all subsequent commands.

Account

Show account information and balance:

octa account
octa account balance

Compute

List available machines

octa compute

Search by CPU, GPU model, or country:

octa compute search "rtx 4090"
octa compute search "netherlands"
octa compute search "epyc"

List available applications

octa compute apps

Deploy a machine

Deploy using an application from the marketplace — the Docker image is resolved automatically:

octa compute deploy --app <app-uuid> --node <node-id>

Deploy with a custom Docker image:

octa compute deploy --node <node-id> --image ubuntu:22.04

Override the image for a marketplace app:

octa compute deploy --app <app-uuid> --node <node-id> --image myrepo/myimage:latest

Specify disk size in GB (defaults to the app's minimum disk size):

octa compute deploy --app <app-uuid> --node <node-id> --disk 100

Pass environment variables as a comma-separated list of KEY=VALUE pairs:

octa compute deploy --node <node-id> --image ubuntu:22.04 --envs MY_VAR=hello,ANOTHER=world

View session logs

octa compute logs <session-uuid>

Shows system logs (with timestamps) and container logs. Supports partial UUIDs.

Connect to a running session via SSH

octa compute connect <session-uuid>

Supports partial UUIDs. Uses direct SSH by default, falls back to proxy if unavailable. Force proxy connection:

octa compute connect <session-uuid> --proxy

Sessions

List active sessions

octa sessions

Stop a session

octa sessions stop <session-uuid>

Partial UUIDs are supported — you only need enough characters to uniquely identify the session:

octa sessions stop abc123

VPN

List available relay nodes

octa vpn relay list

Search relay nodes

octa vpn relay search <query>

Filters relay nodes where the country or city contains the query string (case-insensitive):

octa vpn relay search ukraine
octa vpn relay search kyiv

Use --residential to show only residential nodes:

octa vpn relay search ukraine --residential

Select a relay node

octa vpn relay set <node-id>

The node ID, country, and city are saved to config and used for subsequent vpn connect and vpn status calls.

Show the configured relay node

octa vpn relay get

Start a VPN session

octa vpn connect

Supported protocols: wg (WireGuard, default), ss (Shadowsocks), openvpn:

octa vpn connect --protocol wg
octa vpn connect --protocol ss
octa vpn connect --protocol openvpn

Show active VPN session status

Displays node info, upload/download traffic, and charged amount:

octa vpn status

Show the VPN config as a QR code (for importing into a mobile app):

octa vpn status --qr

Show the plain text VPN config:

octa vpn status --config

Raw JSON output:

octa vpn status -o json

Output formats

Most commands support -o json for machine-readable output:

octa compute -o json
octa compute apps -o json
octa sessions -o json

About

CLI for OctaSpace - manage VPN, compute instances, and cloud apps on the decentralized network

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors