Skip to main content

The official CLI for the v6Node API.

Project description

v6ctl

The official CLI for the v6Node API. Deploy and manage VPS nodes, SSH keys, and webhooks — interactively with Rich tables, or scripted with --json.

pipx install v6ctl
v6ctl config set token v6_...
v6ctl nodes list

Install

pipx install v6ctl     # recommended — isolated, upgradable
pip install v6ctl      # works too

No pipx? brew install pipx (macOS), sudo apt install pipx (Debian/Ubuntu), or python3 -m pip install --user pipx && python3 -m pipx ensurepath.

Configure

Get a token from the v6Node dashboard, then:

v6ctl config set token v6_...

Stored at ~/.config/v6ctl/config.json with mode 0600. Or set V6_TOKEN in your environment.

Recipes

Deploy a node in one line

v6ctl nodes create -r frankfurt-2 -p 8gb -k laptop -t debian-13

Or run v6ctl nodes create on a TTY and answer the prompts. Each of --region, --plan, --key, --template takes an ID, slug, or name — whichever you remember.

Add a dedicated IPv4 at deploy

v6ctl nodes create -r frankfurt-2 -p 8gb -k laptop -t debian-13 \
  --address dedicated_ipv4

Pin a specific image build with --flavor <id>.

Inspect a node, including every IP

v6ctl nodes show <pay-id>
v6ctl nodes list -A          # show all IPs (default truncates to 2)

Manage SSH keys

v6ctl keys list
v6ctl keys create -d "laptop" -k "ssh-ed25519 AAAA..."

Subscribe a webhook to deploy events

v6ctl webhooks create -u https://example.com/hook -e node.deployed

Browse the catalog

v6ctl plans          # plans + pricing
v6ctl regions        # available regions
v6ctl templates      # OS templates and flavors

Script it

v6ctl --json nodes list | jq '.items[].pay_id'
v6ctl --json plans      | jq '.[] | select(.memory_mb >= 4096)'

Every command supports --json and exits non-zero on failure. In non-interactive mode (pipe, CI, or --json), prompts are disabled and missing required flags are an error — so CI fails fast instead of hanging.

v6ctl --help and v6ctl <command> --help are the source of truth for every flag.

Configuration precedence

Source Priority
--flag on the command line 1 (highest)
Env vars (V6_TOKEN, V6_API_URL) 2
Config file ~/.config/v6ctl/config.json (mode 0600) 3
Built-in defaults 4 (lowest)
v6ctl config show       # resolved config, token redacted
v6ctl config path
v6ctl config set api_url https://cloud.v6node.com/api/v1
v6ctl config unset token

Requirements

Python 3.10 or newer.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

v6ctl-0.4.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

v6ctl-0.4.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file v6ctl-0.4.0.tar.gz.

File metadata

  • Download URL: v6ctl-0.4.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for v6ctl-0.4.0.tar.gz
Algorithm Hash digest
SHA256 abd49004c22c0166ec4db9a2cae9176d2c19895bab6feb3e846504f646b4e898
MD5 4c7898b58ec5462b7acf8959ab507809
BLAKE2b-256 8f8f50dce28af43b9910df66f27411c369c405c4a993c8b264a94c3bcfbd3cb6

See more details on using hashes here.

File details

Details for the file v6ctl-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: v6ctl-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for v6ctl-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5553bbb6c2595ba8faf2c2a877929e99ad000cc131c77fd3c3b4bdc7b5f9082e
MD5 5f761774fae71c8eb0d5c163b9e647b9
BLAKE2b-256 b28f34aa2406182e74ceecc62fc3e7523018767ebaa691a9b2be5ce056169555

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page