VergeOS Go SDK (govergeos)
govergeos ist eine Go-Clientbibliothek zur Verwaltung der VergeOS-Infrastruktur über die REST API und bietet typsichere Schnittstellen zur Automatisierung von VMs, Netzwerken, Speicher, Mandanten und Disaster Recovery.
Übersicht
govergeos ist eine Go-Clientbibliothek zur Verwaltung der VergeOS-Infrastruktur über die REST-API. Sie bietet eine typsichere, idiomatische Go-Schnittstelle zur Automatisierung des VM-Lebenszyklus, von Netzwerken, Speicher, Mandantenbetrieb und Disaster-Recovery-Workflows und ist damit ideal zum Erstellen von Tools, Operatoren und Infrastrukturautomatisierung.
Hauptmerkmale
VM-Verwaltung: Erstellung, Konfiguration, Stromsteuerung, Klonen und Snapshots
Erweiterte Netzwerktechnik: Virtuelle Netzwerke, Firewall-Regeln, DHCP, DNS, IPSec VPN und WireGuard
NAS & Speicher: Volumenverwaltung, CIFS/NFS-Freigaben, asynchrones Durchsuchen von Volumes und Synchronisierung
Multi-Tenancy: Mandantenbereitstellung mit Ressourcenisolierung und Knotenverwaltung
Disaster Recovery: Cloud-Snapshots, Standort-Synchronisierung und Wiederherstellungs-Workflows
Typsichere API: Vollständige Go-Interfaces für Mocking, Unterstützung für Context und threadsichere nebenläufige Operationen
Keine Abhängigkeiten: Nur Standardbibliothek—keine externen Abhängigkeiten
Plattformübergreifend: Unterstützung für Windows, macOS und Linux
Anforderungen
Go 1.21 oder höher
VergeOS 26.0 oder höher
Installation
Mit go get
In go.mod
Authentifizierung
Das SDK unterstützt mehrere Authentifizierungsmethoden:
Benutzername/Passwort
API-Schlüssel
Umgebungsvariablen
VERGEOS_HOST
Ja
—
Basis-URL (z. B., https://vergeos.example.com)
VERGEOS_USERNAME
Nein*
—
Benutzername für die Basis-Authentifizierung
VERGEOS_PASSWORD
Nein*
—
Passwort für die Basis-Authentifizierung
VERGEOS_API_KEY
Nein*
—
API-Schlüssel für Bearer-Authentifizierung
VERGEOS_VERIFY_SSL
Nein
true
TLS-Zertifikate überprüfen
Anforderungs-Timeout in Sekunden
Nein
30
Anforderungs-Timeout in Sekunden
*Entweder (USERNAME+PASSWORD) oder API_KEY ist erforderlich.
Empfohlen für die Produktion
Die Verwendung von Umgebungsvariablen hält Anmeldedaten aus Ihrem Quellcode heraus und erleichtert die Verwendung unterschiedlicher Anmeldedaten in verschiedenen Umgebungen.
Client-Optionen
Der Client unterstützt zusätzliche Konfigurationsoptionen:
Verfügbare Ressourcen
Das SDK bietet Zugriff auf die folgenden VergeOS-Ressourcen:
Virtuelle Maschinen
VMs, VMDrives, VMNICs, VMSnapshots, VMDevices
Netzwerk
Networks, VNetRules, VNetAddresses, VNetHosts, VNetDNSViews/Zones/Records
VPN
VNetIPSecs, VNetIPSecPhase1s/Phase2s, VNetWireGuards, VNetWireGuardPeers
NAS/Speicher
NASServices, Volumes, VolumeSnapshots, VolumeCIFSShares, VolumeNFSShares, VolumeSyncs
Mandanten
Tenants, TenantNodes, TenantStorage, TenantSnapshots, TenantLayer2Networks
Benutzer & Gruppen
Users, Groups, Members, Permissions, UserAPIKeys
System
Clusters, Nodes, Settings, System, Certificates
Überwachung
Alarms, Logs, Tasks, StorageTiers, ClusterTiers
Sicherung & DR
SnapshotProfiles, CloudSnapshots, Sites, SiteSyncs
Automatisierung
Files, CloudInitFiles, WebhookURLs, Webhooks
Organization
Tags, TagCategories, TagMembers, ResourceGroups
Anwendungsbeispiele
Virtuelle Maschinen verwalten
Netzwerke erstellen und verwalten
Ressourcen filtern
Das SDK unterstützt flexibles Filtern mit Listenoptionen:
Nebenläufige Operationen
Das SDK ist threadsicher und unterstützt nebenläufige Operationen mit Goroutinen:
Kontextabbruch
Alle Methoden akzeptieren einen context.Context, wodurch Sie Timeouts setzen und Abbrüche für lang laufende Operationen behandeln können.
Fehlerbehandlung
Das SDK stellt für verschiedene Fehlerbedingungen spezielle Fehlertypen bereit:
APIError
—
Basisfehler für alle API-Fehler
AuthError
IsAuthError(err)
Ungültige Anmeldedaten oder abgelaufener Token
NotFoundError
IsNotFoundError(err)
Angeforderte Ressource existiert nicht
ValidationError
IsValidationError(err)
Ungültige Parameterwerte
UnsupportedVersionError
IsUnsupportedVersionError(err)
VergeOS-Version nicht unterstützt
Häufige Anwendungsfälle
Infrastrukturautomatisierung: VMs, Netzwerke und Speicher programmatisch bereitstellen
Kubernetes-Operatoren: Eigene Controller für VergeOS-Ressourcen erstellen
CI/CD-Integration: Testumgebungen in Pipelines erstellen und zerstören
Überwachungstools: Ressourcenstatus abfragen und eigene Dashboards erstellen
Backup-Automatisierung: Snapshots und Cloud-Backups planen und verwalten
Multi-Tenant-Bereitstellung: Mandantenerstellung und Ressourcenzuweisung automatisieren
Dokumentation und Ressourcen
Die vollständige Dokumentation, einschließlich aller verfügbaren Methoden und detaillierter Anwendungsbeispiele, finden Sie im offiziellen Repository:
Support
Wenn Sie auf Probleme stoßen oder Funktionswünsche haben, eröffnen Sie bitte ein Issue im GitHub-Repository:
Weitere Ressourcen
Python SDK (pyvergeos) - Python-Alternative
Terraform-Provider - Infrastruktur als Code
Zuletzt aktualisiert
War das hilfreich?