Skip to main content

The official CLI for the v6Node Reseller API.

Project description

v6ctl

The official CLI for the v6Node Reseller API.

Provision, manage, and script every reseller endpoint. Works interactively with Rich tables, or scripted with --json and proper exit codes.

$ v6ctl nodes list
╭───────────────────────────── Nodes ─────────────────────────────╮
│ ID        Hostname      Region    Plan      OS          IP     │
│ a0fd028d  prod-web-1    Nürnberg  Standard  debian-13   5.1.2.3 │
│ b12c444e  staging-db    Nürnberg  Compute   ubuntu-24   5.1.2.4 │
╰─────────────────────────────────────────────────────────────────╯

Install

pipx install v6ctl

Don't have pipx?

# macOS
brew install pipx

# Debian / Ubuntu
sudo apt install pipx

# Everywhere else
python3 -m pip install --user pipx
python3 -m pipx ensurepath

Or use plain pip:

pip install v6ctl

Configure

Get your API token from the v6Node dashboard, then:

v6ctl config set token v6_...

Token is stored at ~/.config/v6ctl/config.json with 0600 permissions.

Alternatively, set V6_TOKEN in your environment.

Use

v6ctl nodes list                                # list your nodes
v6ctl nodes show <pay-id>                       # full details for a node
v6ctl nodes create -r 7 -p 13 -k 3200 -t debian-13
v6ctl nodes reboot <pay-id>
v6ctl nodes delete <pay-id>

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

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

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

Run v6ctl --help or v6ctl <command> --help for the full reference.

JSON output

Every command supports --json for scripting:

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

Configuration

Where Precedence
--flag on the command line 1 (highest)
Environment variable (V6_TOKEN, V6_API_URL) 2
Config file ~/.config/v6ctl/config.json 3
Built-in defaults 4 (lowest)
v6ctl config show            # show resolved config (token redacted)
v6ctl config path            # print config file 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.1.1.tar.gz (12.5 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.1.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for v6ctl-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6913ba31d7ddfa8b1d135cbff7a6bf8b0b2ab613fd4fde1c7e038f624aabac53
MD5 96956b8b06cd30ae219ccbe072e2a02c
BLAKE2b-256 f23f2b4ada58d3d06eecb17c9fdcfb25834d75db5a787a52a3404a9fcfa82323

See more details on using hashes here.

File details

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

File metadata

  • Download URL: v6ctl-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 71a268009a65312c5b1c6299567e9d2e303cda8745e17f4abeea003f61bb879e
MD5 7f015b8b3ff84a8b74676951e466d49a
BLAKE2b-256 5b53abb88284a9ea11128fa742229d3cb03603fcfde356da982e1d2c8cb958c6

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