CLI de VergeOS (vrg)
vrg es la interfaz oficial de línea de comandos para VergeOS, que proporciona más de 200 comandos para gestionar máquinas virtuales, redes, tenants, NAS y más desde un terminal o un pipeline de automatización.
Descripción general
vrg es la interfaz oficial de línea de comandos para VergeOS. Ofrece más de 200 comandos en computación, redes, inquilinos, NAS, identidad, automatización y supervisión, además de lo declarativo .vrg.yaml Plantillas de VM para aprovisionamiento reproducible y controlado por versiones. Úselo para administración centrada en terminal, scripting de shell y pipelines de CI/CD.
Requisitos
Python 3.10 o posterior (al instalar mediante
pip,pipx, ouv)Una cuenta de usuario o una clave de API con los permisos adecuados en la instancia de VergeOS
Instalación
vrg puede instalarse de varias maneras. pipx se recomienda porque aísla la CLI en su propio entorno virtual.
pipx (recomendado)
pipx install vrgpip
pip install vrguv
uv tool install vrgHomebrew
Binario independiente
Descargue un binario precompilado desde la última versión , luego colóquelo en su PATH. Los binarios están disponibles para Linux (x86_64), macOS (ARM64) y Windows (x86_64).
Cuarentena de macOS
En macOS, el binario independiente puede quedar en cuarentena por Gatekeeper. Elimine el atributo antes de ejecutarlo:
Después de la instalación, verifique con:
Actualización
pipx
pipx upgrade vrg
pip
pip install --upgrade vrg
uv
uv tool upgrade vrg
Homebrew
brew upgrade vrg
Independiente
Vuelva a descargarlo desde la página de versiones
Inicio rápido
vrg configure setup es un asistente interactivo que solicita la URL del host, el método de autenticación y el formato de salida predeterminado. Guarda el resultado en ~/.vrg/config.toml. Véase Autenticación para los detalles de cada método y cómo automatizar credenciales.
Autenticación
vrg acepta cuatro métodos de autenticación. Los cuatro pueden proporcionarse mediante el asistente interactivo, variables de entorno, flags de la línea de comandos o un perfil en ~/.vrg/config.toml.
Token portador
Pipelines de CI, scripts
--token bandera o VERGE_TOKEN variable de entorno
Clave de API
Automatización de servicios de larga duración
--api-key bandera
Usuario + contraseña
Sesiones interactivas, usos puntuales
--username / --password o indicaciones del asistente
Perfil
Varias instancias
--profile <name> después de ejecutar vrg configure setup
Generación de una clave de API
Las claves de API se gestionan tanto en la IU de VergeOS (System → API Keys) como a través de la propia CLI una vez que se haya autenticado por otro método:
Trate el valor devuelto como un secreto: guárdelo en el gestor de secretos de su proveedor de CI, nunca en el control de código fuente.
Variables de entorno
Las variables de entorno sobrescriben los valores del archivo de configuración, lo que las hace ideales para CI/CD:
Perfiles
Los perfiles le permiten cambiar entre varias instancias de VergeOS (producción, preproducción, entornos de clientes):
Consultas entre perfiles
Use --all-profiles en un comando de listado para ejecutarlo contra cada perfil configurado. Cada fila de salida incluye una columna de perfil que muestra de qué perfil proviene.
Patrón de comandos
Todos vrg los comandos siguen una estructura uniforme:
La mayoría de los recursos implementan acciones CRUD estándar: list, get, create, updatey delete. Las operaciones destructivas requieren --yes para omitir el mensaje de confirmación.
Dominios de comandos
Computación
vm, vm drive, vm nic, vm device, vm snapshot, vm export, vm import
Redes
Red, network rule, network dns, network host, network alias, network diag, network query
Inquilinos
Inquilino, 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
Infraestructura
cluster, node, storage
Instantáneas
snapshot, perfil de instantáneas
Sitios y replicación
site, site sync outgoing, site sync incoming
Identidad y acceso
user, group, permission, api-key, auth-source
Certificados y SSO
certificate, oidc
Automatización
Tarea, task schedule, task trigger, task event, task script
Recetas
Receta, recipe section, recipe question, recipe instance, recipe log
Catálogo
catalog, catalog repo
Actualizaciones
update, update source, update branch, update package, update available
Monitorización
alarm, alarm history, log
Etiquetado
tag, tag category, resource-group
Sistema
Sistema, system settings, system license, system diag, doctor, configure, file, completion
La referencia completa se mantiene en la Referencia de comandos .
Ejemplos de uso
Listado e inspección de VMs
Creación de una VM desde flags de shell
El enfoque con flags de shell es bueno para experimentos rápidos. Para aprovisionamiento repetible, consulte Plantillas de VM.
Trabajar con redes
Diagnósticos de red y nodo
vrg expone consultas de diagnóstico que se ejecutan en el enrutador virtual de una red o directamente en un nodo físico:
Verificación del estado del sistema
Plantillas de VM
Defina las VMs como .vrg.yaml archivos para un aprovisionamiento repetible y controlado por versiones. Las plantillas admiten variables, previsualizaciones en modo simulación, anulaciones en tiempo de ejecución mediante --set, cloud-init y creación por lotes con VirtualMachineSet.
Plantilla de ejemplo
Guarde lo siguiente como web-server.vrg.yaml:
Validación y creación
Variables y valores predeterminados
Soporte de plantillas ${VAR} sustitución de variables de entorno o un vars: bloque, además de la sintaxis de valor predeterminado (${VM_RAM:-4GB}). Esto es útil para parametrizar una sola plantilla entre entornos.
Para la referencia completa de los campos de la plantilla, consulte la Guía de plantillas .
Formatos de salida
Todos los comandos admiten --output (o -o) para cambiar el formato de salida y --query para extraer un campo con notación de puntos.
tabla
Salida legible predeterminada
ancho
Todas las columnas disponibles, incluidas las ocultas en la vista predeterminada
json
Salida legible por máquina para canalizar a jq u otras herramientas
csv
Exportación compatible con hojas de cálculo
Autocompletado de shell
El autocompletado con Tab está disponible para bash, zsh, fish y PowerShell. La forma más rápida de activarlo es:
zsh en macOS: directorios inseguros
Si ve compinit: insecure directories después de instalar los autocompletados en macOS, corrija los permisos del directorio de Homebrew:
Opciones globales
--profile
-p
Perfil de configuración a usar
--host
-H
URL del host de VergeOS (anulación)
--token
Token de portador para autenticación
--api-key
Clave de API para autenticación
--username
-u
Nombre de usuario para autenticación básica
--password
Contraseña para autenticación básica
--output
-o
Formato de salida (tabla, ancho, json, csv)
--query
Extraer campo usando notación de puntos
--all-profiles
Ejecutar comandos de listado en cada perfil configurado
--verbose
-v
Aumentar nivel de detalle (-v, -vv, -vvv)
--quiet
-q
Suprimir la salida no esencial
--no-color
Deshabilitar la salida en color
--yes
Omitir los avisos de confirmación en acciones destructivas
--version
-V
Mostrar versión
--help
Mostrar ayuda
Códigos de salida
vrg usa códigos de salida significativos para scripts e integración con CI:
0
Éxito
1
Error general
2
Argumentos no válidos
3
Error de configuración
4
Error de autenticación
5
Permiso denegado
6
Recurso no encontrado
7
Conflicto (p. ej., nombre duplicado)
8
Error de validación
9
Tiempo de espera agotado
10
Error de conexión
Solución de problemas
Código de salida 4
Fallo de autenticación
Ejecute vrg configure setup y verifique el token, la clave de API o las credenciales
Código de salida 3
Error de configuración
Inspeccione ~/.vrg/config.toml o ejecute vrg configure show
Código de salida 10
Error de conexión
Verificar VERGE_HOST es accesible y la URL es correcta
compinit: insecure directories (macOS)
Permisos de Homebrew
chmod 755 /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions
vrg bloqueado en macOS
cuarentena de Gatekeeper
xattr -d com.apple.quarantine ./vrg
Cómo elegir la herramienta adecuada
vrg es una de varias interfaces de automatización de VergeOS. Elija según cómo trabaje:
vrg CLI
Trabaja siempre en una terminal, quiere plantillas de VM declarativas o necesita un script puntual
Está escribiendo aplicaciones en Python, automatización compleja o integrando otras herramientas de Python
Su entorno es principalmente Windows o ya automatiza con PowerShell
Gestiona VergeOS junto con otra infraestructura administrada por Terraform
Está integrando la gestión de VergeOS en una aplicación Go
Recursos y soporte
Repositorio de GitHub — código fuente, incidencias y versiones
Referencia de comandos — cada comando y opción
Guía de plantillas — completo
.vrg.yamlreferencia de camposLibro de recetas — recetas orientadas a tareas
Arquitectura — diseño e internos
Problemas conocidos — limitaciones actuales y soluciones alternativas
Última actualización
¿Te fue útil?