VergeOS CLI(vrg)
vrg 是 VergeOS 的官方命令行界面,提供 200 多个命令,可从终端或自动化流水线管理虚拟机、网络、租户、NAS 等。
概述
vrg 是 VergeOS 的官方命令行界面。它提供 200+ 条命令,涵盖计算、网络、租户、NAS、身份、自动化和监控,并支持声明式 .vrg.yaml 用于可复现、受版本控制的配置的 VM 模板。可用于以终端为先的管理、Shell 脚本和 CI/CD 流水线。
要求
Python 3.10 或更高版本(在通过
pip,pipx,或uv)在 VergeOS 实例上具有相应权限的用户账户或 API 密钥
安装
vrg 可以通过多种方式安装。 pipx 推荐,因为它会将 CLI 隔离在其自己的虚拟环境中。
pipx(推荐)
pipx install vrgpip
pip install vrguv
uv tool install vrgHomebrew
独立二进制文件
从 最新发布版本 下载预构建二进制文件,然后将其放到你的 PATH。二进制文件适用于 Linux(x86_64)、macOS(ARM64)和 Windows(x86_64)。
安装后,使用以下命令验证:
升级
pipx
pipx upgrade vrg
pip
pip install --upgrade vrg
uv
uv tool upgrade vrg
Homebrew
brew upgrade vrg
独立版
重新从 发布页面
快速开始
vrg configure setup 是一个交互式向导,会提示输入主机 URL、认证方式和默认输出格式。它会将结果保存到 ~/.vrg/config.toml。详情请参见 身份验证 ,了解每种方法的细节以及如何编写凭据脚本。
身份验证
vrg 支持四种认证方式。四种方式都可以通过交互式向导、环境变量、命令行标志或 ~/.vrg/config.toml.
Bearer 令牌
CI 流水线、脚本
--token 标志或 VERGE_TOKEN 环境变量
API 密钥
长期运行的服务自动化
--api-key 标志
用户名 + 密码
交互式会话、一次性任务
--username / --password 或向导提示
配置文件
多个实例
--profile <name> 在运行后 vrg configure setup
生成 API 密钥
API 密钥既可在 VergeOS UI(系统 → API 密钥)中管理,也可以在通过其他方式完成认证后直接通过 CLI 管理:
将返回值视为机密——将其存储在 CI 提供商的密钥管理器中,切勿放入源代码控制。
环境变量
环境变量会覆盖配置文件中的值,因此它们非常适合 CI/CD:
配置文件
配置文件可让你在多个 VergeOS 实例(生产、预发、客户环境)之间切换:
命令模式
所有 vrg 命令都遵循一致的结构:
大多数资源都实现了标准 CRUD 操作: 列表, 获取, 创建, 更新和 删除。破坏性操作需要 --yes 以跳过确认提示。
命令域
计算
vm, vm drive, vm nic, vm device, vm snapshot, vm export, vm import
网络
网络, network rule, network dns, network host, network alias, network diag, network query
租户
租户, 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
基础设施
集群, 节点, 存储
快照
快照, 快照配置文件
站点与复制
站点, 站点同步出站, 站点同步入站
身份与访问
用户, 组, 权限, API 密钥, 认证源
证书与单点登录
证书, OIDC
自动化
任务, 任务计划, 任务触发器, 任务事件, 任务脚本
配方
配方, 配方章节, 配方问题, 配方实例, 配方日志
目录
目录, 目录仓库
更新
更新, 更新源, 更新分支, 更新包, 有可用更新
监控
告警, 告警历史, 日志
标签
标签, 标签分类, 资源组
系统
系统, 系统设置, 系统许可证, 系统诊断, doctor, 配置, 文件, 补全
完整参考信息维护在 命令参考 .
使用示例
列出并检查虚拟机
从 Shell 标志构建虚拟机
Shell 标志方式适合快速试验。若要进行可重复的配置,请参见 VM 模板.
使用网络
网络与节点诊断
vrg 提供可在网络的虚拟路由器上运行,或直接在物理节点上运行的诊断查询:
系统健康检查
VM 模板
将虚拟机定义为 .vrg.yaml 文件,以实现可重复、受版本控制的配置。模板支持变量、dry-run 预览、通过 --set运行时覆盖、cloud-init,以及使用 VirtualMachineSet.
示例模板
将以下内容保存为 web-server.vrg.yaml:
验证并创建
有关完整的模板字段参考,请参见 模板指南 .
输出格式
所有命令都支持 --output (或 -o)用于更改输出格式,并 --query 用于使用点表示法提取字段。
table
默认的人类可读输出
wide
所有可用列,包括默认视图中隐藏的列
json
适合通过管道传递给 jq 或其他工具的机器可读输出
csv
适合电子表格的导出
Shell 补全
bash、zsh、fish 和 PowerShell 都支持 Tab 补全。启用它的最快方法是:
全局选项
--profile
-p
要使用的配置文件
--host
-H
VergeOS 主机 URL(覆盖)
--token
用于身份验证的 Bearer 令牌
--api-key
用于身份验证的 API 密钥
--username
-u
基础认证用户名
--password
基础认证密码
--output
-o
输出格式(table, wide, json, csv)
--query
使用点表示法提取字段
--all-profiles
在所有已配置的配置文件上运行列表命令
--verbose
-v
增加详细输出(-v, -vv, -vvv)
--quiet
-q
抑制非必要输出
--no-color
禁用彩色输出
--yes
在破坏性操作中跳过确认提示
--version
-V
显示版本
--help
显示帮助
退出代码
vrg 为脚本和 CI 集成使用有意义的退出代码:
0
成功
1
通用错误
2
无效参数
3
配置错误
4
身份验证错误
5
权限被拒绝
6
未找到资源
7
冲突(例如,名称重复)
8
验证错误
9
超时
10
连接错误
故障排除
退出代码 4
身份验证失败
运行 vrg configure setup 并验证令牌、API 密钥或凭据
退出代码 3
配置错误
检查 ~/.vrg/config.toml 或运行 vrg configure show
退出代码 10
连接错误
验证 VERGE_HOST 是否可访问且 URL 正确
compinit: insecure directories (macOS)
Homebrew 权限
chmod 755 /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions
vrg 在 macOS 上被阻止
Gatekeeper 隔离
xattr -d com.apple.quarantine ./vrg
选择合适的工具
vrg 是 VergeOS 的多个自动化接口之一。请根据你的工作方式选择:
vrg CLI
你主要在终端中工作,想要声明式 VM 模板,或者需要一次性脚本
你正在编写 Python 应用、复杂自动化,或与其他 Python 工具集成
你们以 Windows 为主,或已经使用 PowerShell 进行自动化
你与其他由 Terraform 管理的基础设施一起管理 VergeOS
你正在将 VergeOS 管理功能嵌入到 Go 应用程序中
资源与支持
最后更新于
这有帮助吗?