For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

SSL-Zertifikatsprüfung

Setzen Sie WithInsecureTLS(true) nur für Umgebungen mit selbstsignierten Zertifikaten. In Produktionsumgebungen mit gültigen Zertifikaten lassen Sie diese Option weg.

API-Schlüssel

Umgebungsvariablen

Variable
Erforderlich
Standard
Beschreibung

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.

Client-Optionen

Der Client unterstützt zusätzliche Konfigurationsoptionen:

Verfügbare Ressourcen

Das SDK bietet Zugriff auf die folgenden VergeOS-Ressourcen:

Kategorie
Dienste

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:

Fehlerbehandlung

Das SDK stellt für verschiedene Fehlerbedingungen spezielle Fehlertypen bereit:

Verfügbare Fehlertypen

Fehlertyp
Hilfsfunktion
Beschreibung

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

Zuletzt aktualisiert

War das hilfreich?