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.

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.0.tar.gz (334.9 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.0-py3-none-any.whl (210.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vrg-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d1b6349b10eba943ed7d0fc5db048419059699c1a704875b366781641a2f94e2
MD5 0e3e13de2ca6bed2d8edd1c131f910d4
BLAKE2b-256 5b6abb33bf654dc7de0fd07f3105f132cce2b9db2f336495932f1589629afb09

See more details on using hashes here.

Provenance

The following attestation bundles were made for vrg-1.0.0.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.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for vrg-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ae701201747049f689a7d7bb4975f3a05a80e2d185da71f535fb53daed147ed
MD5 f0485f30c36863026dd078da957b6883
BLAKE2b-256 c7fc577ff184a6905fedf2b8bd85d49bd7a1aefeceddc53bbd778425290ac10c

See more details on using hashes here.

Provenance

The following attestation bundles were made for vrg-1.0.0-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