octa-cli v0.2.0
Fixes a critical live decode bug and rounds out -o json and error-message
coverage across the CLI.
Fixed
- Critical: any account with an active compute (MR) rental could not run
octa sessions,sessions stop/info,compute logs/connect, orvpn status— all failed withcannot unmarshal array into Go struct field Session.container_id of type string. The live API returnscontainer_id
as a JSON array for compute sessions, but go-sdk typed it as a bare
string, breaking decoding of the entire/sessionslist and
/services/:uuid/info, not just that field. Fixed by bumping
github.com/octaspace/go-sdkto
v0.5.0.
Verified against a live account with an active session. - Argument-count errors (e.g.
octa nodes priceswith no ID) now name the
missing argument and print the command's usage line, instead of cobra's
bareaccepts 1 arg(s), received 0. octa nodes showno longer prints a fabricatedPrices — (see 'nodes list')row; the/nodes/:idendpoint doesn't return prices, so the row is
simply omitted.
Added
-o table|jsonon every command that was still missing it:compute search,compute deploy,compute logs,nodes show,nodes prices,
nodes reboot,sessions stop,vpn relay search,vpn relay set,
vpn relay get,vpn connect,vpn disconnect,auth.
Changed
- Removed the per-state/per-row color palette from table and label/value
output. Headers stay bold; everything else renders in the terminal's
default foreground color.
Upgrade notes
- No flag, command, or config renames.
nodes show,compute search,compute logs, andvpn relay search
support-o jsonnow, but marshal the SDK's typed model rather than a raw
server passthrough — the SDK has no raw accessor for these. See
docs/json-output.md
for which commands are raw passthrough vs. typed/derived.
Artifacts
Five binaries (linux/amd64, linux/arm64, darwin/amd64, darwin/arm64,
windows/amd64) plus SHA256SUMS. No cryptographic signing yet — verify with
the published checksums.
Full changelog: see CHANGELOG.md (section [0.2.0]).