Skip to main content

Command-line interface for VergeOS

Project description

Verge CLI

Command-line interface for VergeOS — manage virtual machines, networks, DNS, firewall rules, and more from your terminal.

PyPI version Python 3.10+ License

Installation

pipx (recommended)

pipx install vrg

pip

pip install vrg

uv

uv tool install vrg

Homebrew

brew install verge-io/tap/vrg

Standalone binary

Download a pre-built binary from the latest release and place it in your PATH. Available for Linux (x86_64), macOS (ARM64), and Windows (x86_64).

macOS note: You may need to remove the quarantine attribute:

xattr -d com.apple.quarantine ./vrg

Verify

vrg --version

Quick Start

# 1. Configure credentials
vrg configure setup

# 2. Verify connection
vrg system info

# 3. List your VMs
vrg vm list

Highlights

  • 200+ commands across compute, networking, tenants, NAS, identity, automation, and monitoring
  • Declarative VM templates — provision from .vrg.yaml files with variables, dry-run, and batch support
  • Flexible auth — interactive setup via vrg configure, bearer token, API key, or username/password with named profiles
  • Flexible output — table, wide, JSON, or CSV with --query field extraction
  • Shell completion — tab completion for bash, zsh, fish, and PowerShell

Commands

vrg <domain> [sub-domain] <action> [options]
Domain Commands
Compute vm, vm drive, vm nic, vm device, vm snapshot
Networking network, network rule, network dns, network host, network alias, network diag
Tenants tenant, tenant node, tenant storage, tenant net, tenant snapshot, tenant stats, tenant share, tenant logs
NAS nas service, nas volume, nas cifs, nas nfs, nas user, nas sync, nas files
Infrastructure cluster, node, storage
Snapshots snapshot, snapshot profile
Sites & Replication site, site sync outgoing, site sync incoming
Identity & Access user, group, permission, api-key, auth-source
Certificates & SSO certificate, oidc
Automation task, task schedule, task trigger, task event, task script
Recipes recipe, recipe section, recipe question, recipe instance, recipe log
Catalog catalog, catalog repo
Updates update, update source, update branch, update package, update available
Monitoring alarm, alarm history, log
Tagging tag, tag category, resource-group
System system, configure, file, completion

Most commands follow a consistent CRUD pattern (list, get, create, update, delete). Destructive operations require --yes to skip confirmation.

Run vrg <command> --help for usage details, or see the full Command Reference.

Configuration

Configuration is stored in ~/.vrg/config.toml. Run vrg configure setup for interactive setup, or set environment variables (VERGE_HOST, VERGE_TOKEN, etc.) to override. Multiple named profiles are supported.

See the Cookbook for setup recipes and the Command Reference for all environment variables.

VM Templates

Create VMs from declarative .vrg.yaml files instead of long command lines. Templates support variables, dry-run previews, runtime overrides (--set), cloud-init, and batch provisioning.

vrg vm create -f web-server.vrg.yaml --dry-run   # Preview
vrg vm create -f web-server.vrg.yaml              # Create

See the Template Guide for the full field reference and examples.

Output Formats

All commands support --output table|wide|json|csv and --query for field extraction. See the Command Reference.

Shell Completion

Tab completion is available for bash, zsh, fish, and PowerShell. Run vrg --install-completion for quick setup, or see the Cookbook for manual configuration.

macOS zsh note: If you see compinit: insecure directories after installing completions, fix the Homebrew directory permissions:

chmod 755 /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions

Global Options

Option Short Description
--profile -p Configuration profile to use
--host -H VergeOS host URL (override)
--output -o Output format (table, wide, json, csv)
--query Extract field using dot notation
--verbose -v Increase verbosity (-v, -vv, -vvv)
--quiet -q Suppress non-essential output
--no-color Disable colored output
--version -V Show version
--help Show help

Exit Codes

Code Meaning
0 Success
1 General error
2 Invalid arguments
3 Configuration error
4 Authentication error
5 Permission denied
6 Resource not found
7 Conflict (e.g., duplicate name)
8 Validation error
9 Timeout
10 Connection error

Contributing

We welcome contributions! Please read the following before submitting a pull request.

git clone https://github.com/verge-io/vrg.git
cd vrg
uv sync --all-extras
uv run pytest              # Tests
uv run ruff check .        # Lint
uv run mypy src/verge_cli  # Type check

By submitting a pull request, you agree to the terms of our Contributor License Agreement.

  • Follow the existing code style and conventions
  • Add tests for new functionality
  • Keep pull requests focused — one feature or fix per PR
  • Use conventional commit messages

Documentation

License

Apache License 2.0 — see LICENSE for details.

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

vrg-1.0.1.tar.gz (319.7 kB view details)

Uploaded Source

Built Distribution

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

vrg-1.0.1-py3-none-any.whl (210.7 kB view details)

Uploaded Python 3

File details

Details for the file vrg-1.0.1.tar.gz.

File metadata

  • Download URL: vrg-1.0.1.tar.gz
  • Upload date:
  • Size: 319.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vrg-1.0.1.tar.gz
Algorithm Hash digest
SHA256 8726f3c1b3d4e9c48364f42864b13250fe80f53115c53423a0bca5238c8e49fc
MD5 bf9e38cabaf64902251da9a98fbaf759
BLAKE2b-256 7d01cb2991146f085afb9d587d93684bc5e0ba19e918301865ee63449165fd5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for vrg-1.0.1.tar.gz:

Publisher: pypi.yaml on verge-io/vrg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vrg-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: vrg-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 210.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vrg-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a63a2c40a9efb10656c8adb5e11bb50d9b7427c86ff4c12d1efe0b96c76a6b27
MD5 875d430d6b00ad1efca223bff7900754
BLAKE2b-256 3cc5721afec76481fb98e429a5654727305d132a2210cfa68ae42bfa32478ddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for vrg-1.0.1-py3-none-any.whl:

Publisher: pypi.yaml on verge-io/vrg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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