VergeOS CLI (vrg)
vrg ist die offizielle Befehlszeilenschnittstelle für VergeOS und bietet über 200 Befehle zur Verwaltung virtueller Maschinen, Netzwerke, Tenants, NAS und mehr über ein Terminal oder eine Automatisierungspipeline.
Übersicht
vrg ist die offizielle Befehlszeilenschnittstelle für VergeOS. Sie bietet über 200 Befehle für Compute, Netzwerke, Mandanten, NAS, Identität, Automatisierung und Überwachung sowie deklarative .vrg.yaml VM-Vorlagen für reproduzierbare, versionskontrollierte Bereitstellung. Verwende sie für die Administration zuerst im Terminal, Shell-Scripting und CI/CD-Pipelines.
Anforderungen
Python 3.10 oder höher (bei der Installation über
pip,pipx, oderuv)Ein Benutzerkonto oder API-Schlüssel mit den entsprechenden Berechtigungen auf der VergeOS-Instanz
Installation
vrg kann auf mehrere Arten installiert werden. pipx wird empfohlen, da es die CLI in einer eigenen virtuellen Umgebung isoliert.
pipx (empfohlen)
pipx install vrgpip
pip install vrguv
uv tool install vrgHomebrew
Eigenständige Binärdatei
Lade eine vorgefertigte Binärdatei von der neuesten Version herunter und lege sie dann in dein PATH. Binärdateien sind verfügbar für Linux (x86_64), macOS (ARM64) und Windows (x86_64).
macOS-Quarantäne
Unter macOS kann die eigenständige Binärdatei von Gatekeeper in Quarantäne gesetzt werden. Entferne das Attribut vor dem Ausführen:
Nach der Installation mit folgendem Befehl prüfen:
Aktualisieren
pipx
pipx upgrade vrg
pip
pip install --upgrade vrg
uv
uv tool upgrade vrg
Homebrew
brew upgrade vrg
Eigenständig
Erneut herunterladen von der Release-Seite
Schnellstart
vrg configure setup ist ein interaktiver Assistent, der nach der Host-URL, der Authentifizierungsmethode und dem Standard-Ausgabeformat fragt. Er speichert das Ergebnis in ~/.vrg/config.toml. Siehe Authentifizierung für Details zu jeder Methode und dazu, wie Anmeldedaten per Skript bereitgestellt werden.
Authentifizierung
vrg unterstützt vier Authentifizierungsmethoden. Alle vier können über den interaktiven Assistenten, Umgebungsvariablen, Befehlszeilen-Flags oder ein Profil in ~/.vrg/config.toml.
Bearer-Token
CI-Pipelines, Skripte
--token Flag oder VERGE_TOKEN Umgebungsvariable
API-Schlüssel
Langfristige Dienstautomatisierung
--api-key Flag
Benutzername + Passwort
Interaktive Sitzungen, Einzelaufrufe
--username / --password oder Assistentenabfragen
Profil
Mehrere Instanzen
--profile <name> nach dem Ausführen von vrg configure setup
Einen API-Schlüssel generieren
API-Schlüssel werden sowohl in der VergeOS-Oberfläche (System → API Keys) als auch über die CLI selbst verwaltet, sobald du dich auf eine andere Weise authentifiziert hast:
Behandle den zurückgegebenen Wert als Geheimnis — speichere ihn im Secret-Manager deines CI-Anbieters, niemals in der Quellcodeverwaltung.
Umgebungsvariablen
Umgebungsvariablen überschreiben Werte in der Konfigurationsdatei, was sie ideal für CI/CD macht:
Profile
Profile ermöglichen dir den Wechsel zwischen mehreren VergeOS-Instanzen (Produktion, Staging, Kundenumgebungen):
Abfragen über Profile hinweg
Verwende --all-profiles bei einem Listen-Befehl, um ihn gegen jedes konfigurierte Profil auszuführen. Jede Ausgabzeile enthält eine Profil Spalte, die zeigt, woher sie stammt.
Befehlsmuster
Alle vrg Befehle folgen einer einheitlichen Struktur:
Die meisten Ressourcen implementieren standardmäßige CRUD-Aktionen: list, get, create, update, und delete. Zerstörerische Operationen erfordern --yes um die Bestätigungsabfrage zu überspringen.
Befehlsbereiche
Compute
vm, vm drive, vm nic, vm device, vm snapshot, vm export, vm import
Netzwerk
network, network rule, network dns, network host, network alias, network diag, network query
Mandanten
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
Infrastruktur
cluster, node, storage
Snapshots
snapshot, Snapshot-Profil
Standorte & Replikation
site, site sync outgoing, site sync incoming
Identität & Zugriff
user, group, permission, api-key, auth-source
Zertifikate & SSO
certificate, oidc
Automatisierung
task, task schedule, task trigger, task event, task script
Rezepte
recipe, recipe section, recipe question, recipe instance, recipe log
Katalog
catalog, catalog repo
Updates
update, update source, update branch, update package, update available
Überwachung
alarm, alarm history, log
Tagging
tag, tag category, resource-group
System
system, system settings, system license, system diag, doctor, configure, file, completion
Die vollständige Referenz wird im Befehlsreferenz .
Anwendungsbeispiele
VMs auflisten und prüfen
Eine VM aus Shell-Flags erstellen
Der Ansatz mit Shell-Flags eignet sich gut für schnelle Experimente. Für wiederholbare Bereitstellung siehe VM-Vorlagen.
Mit Netzwerken arbeiten
Netzwerk- und Knoten-Diagnose
vrg stellt Diagnoseabfragen bereit, die auf dem virtuellen Router eines Netzwerks oder direkt auf einem physischen Knoten ausgeführt werden:
System-Gesundheitsprüfung
VM-Vorlagen
Definiere VMs als .vrg.yaml Dateien für wiederholbare, versionskontrollierte Bereitstellung. Vorlagen unterstützen Variablen, Vorschauen per Dry Run, Laufzeitüberschreibungen über --set, cloud-init und Stapelerstellung mit VirtualMachineSet.
Beispielvorlage
Speichere das Folgende als web-server.vrg.yaml:
Validieren und Erstellen
Variablen und Standardwerte
Unterstützung für Vorlagen ${VAR} Ersetzung aus Umgebungsvariablen oder einem vars: Block sowie Standardsyntax für Werte (${VM_RAM:-4GB}). Dies ist nützlich, um eine einzelne Vorlage über verschiedene Umgebungen hinweg zu parametrieren.
Für die vollständige Referenz der Vorlagenfelder siehe den Vorlagenleitfaden .
Ausgabeformate
Alle Befehle unterstützen --output (oder -o) zum Ändern des Ausgabeformats und --query zum Extrahieren eines Feldes mit Punktnotation.
Tabelle
Standardmäßige menschenlesbare Ausgabe
breit
Alle verfügbaren Spalten, einschließlich der in der Standardansicht ausgeblendeten
JSON
Maschinenlesbare Ausgabe zum Weiterleiten an jq oder andere Werkzeuge
CSV
Tabellenkalkulationsfreundlicher Export
Shell-Vervollständigung
Tab-Vervollständigung ist für bash, zsh, fish und PowerShell verfügbar. Der schnellste Weg, sie zu aktivieren, ist:
macOS zsh: unsichere Verzeichnisse
Wenn Sie compinit: unsichere Verzeichnisse nach der Installation der Vervollständigungen auf macOS sehen, beheben Sie die Verzeichnisberechtigungen von Homebrew:
Globale Optionen
--profile
-p
Zu verwendendes Konfigurationsprofil
--host
-H
VergeOS-Host-URL (überschreiben)
--token
Bearer-Token zur Authentifizierung
--api-key
API-Schlüssel zur Authentifizierung
--username
-u
Benutzername für die Basis-Authentifizierung
--password
Passwort für die Basis-Authentifizierung
--output
-o
Ausgabeformat (Tabelle, breit, JSON, CSV)
--query
Feld mit Punktnotation extrahieren
--all-profiles
List-Befehle über jedes konfigurierte Profil hinweg ausführen
--verbose
-v
Ausführlichkeit erhöhen (-v, -vv, -vvv)
--quiet
-q
Nicht wesentliche Ausgabe unterdrücken
--no-color
Farbausgabe deaktivieren
--yes
Bestätigungsabfragen bei destruktiven Aktionen überspringen
--version
-V
Version anzeigen
--help
Hilfe anzeigen
Exit-Codes
vrg verwendet aussagekräftige Exit-Codes für Skripting und CI-Integration:
0
Erfolg
1
Allgemeiner Fehler
2
Ungültige Argumente
3
Konfigurationsfehler
4
Authentifizierungsfehler
5
Zugriff verweigert
6
Ressource nicht gefunden
7
Konflikt (z. B. doppelter Name)
8
Validierungsfehler
9
Zeitüberschreitung
10
Verbindungsfehler
Fehlerbehebung
Exit-Code 4
Authentifizierungsfehler
Führen Sie vrg configure setup und überprüfen Sie das Token, den API-Schlüssel oder die Anmeldedaten
Exit-Code 3
Konfigurationsfehler
Überprüfen Sie ~/.vrg/config.toml oder führen Sie vrg configure show
Exit-Code 10
Verbindungsfehler
Überprüfen VERGE_HOST erreichbar ist und die URL korrekt ist
compinit: unsichere Verzeichnisse (macOS)
Homebrew-Berechtigungen
chmod 755 /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions
vrg unter macOS blockiert
Gatekeeper-Quarantäne
xattr -d com.apple.quarantine ./vrg
Das richtige Werkzeug wählen
vrg ist eine von mehreren VergeOS-Automatisierungsschnittstellen. Wählen Sie basierend darauf, wie Sie arbeiten:
vrg-CLI
Sie im Terminal arbeiten, deklarative VM-Vorlagen möchten oder ein Einmal-Skript benötigen
Sie Python-Anwendungen schreiben, komplexe Automatisierungen erstellen oder andere Python-Tools integrieren
Sie primär auf Windows setzen oder bereits mit PowerShell automatisieren
Sie VergeOS zusammen mit anderer von Terraform verwalteter Infrastruktur verwalten
Sie die VergeOS-Verwaltung in eine Go-Anwendung einbetten
Ressourcen & Support
GitHub-Repository — Quellcode, Issues und Releases
Befehlsreferenz — jeder Befehl und jedes Flag
Vorlagenleitfaden — vollständige
.vrg.yamlFeldreferenzKochbuch — aufgabenorientierte Anleitungen
Architektur — Design und Interna
Bekannte Probleme — aktuelle Einschränkungen und Workarounds
Zuletzt aktualisiert
War das hilfreich?