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    Frankfurt  Standard  debian-13   5.1.2.3 │
│ b12c444e  staging-db    Frankfurt  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.2.tar.gz (12.4 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.2-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: v6ctl-0.1.2.tar.gz
  • Upload date:
  • Size: 12.4 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.2.tar.gz
Algorithm Hash digest
SHA256 fd213ab686eac9bddada95b2ed5cd0e1fbaec4b2295135ac3e28da936e79321c
MD5 ce35afdddffc68bcb892f31478992940
BLAKE2b-256 01e67a0130f97206e6adccf5bddff99fb56ae1218d9e93aab02eb2631a1a6213

See more details on using hashes here.

File details

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

File metadata

  • Download URL: v6ctl-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 70aa2360864ecc6f053400fccb69eb5269cb4101fcd228dc0a38253355902755
MD5 3f38d52cd96b436d56755fffa4d59543
BLAKE2b-256 555f43a4b6eb71aff4748176b88679f07813251b8067a55c19a621197b3cbc66

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